Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么它打印日志两次,而我的代码只允许一次_Javascript - Fatal编程技术网

Javascript 为什么它打印日志两次,而我的代码只允许一次

Javascript 为什么它打印日志两次,而我的代码只允许一次,javascript,Javascript,我在做这个代码战争卡塔: 请检查此图片: 我的代码: function loop_size(node){ var n = 0; while (!node.sign) { node["sign"] = n; n++; node = node.next; } console.log('n: ' + n); console.log('node.sign: '+ node.sign); return n -

我在做这个代码战争卡塔:

请检查此图片:

我的代码:

function loop_size(node){
    var n = 0;
    while (!node.sign) {
        node["sign"] = n;
        n++;
        node = node.next;
    }
    console.log('n: ' + n);
    console.log('node.sign: '+ node.sign);
    return n - node.sign;
}
但是我的代码失败了,因为:值不是预期值


我发现它打印了两次日志,n和node.sign的值都修改为1,我不知道发生了什么,javascript高手请帮助,谢谢。

您的解决方案通过了第一次测试,但没有通过其余测试。因为rest测试是为了防止像您这样的解决方案通过而设计的。尽量不要修改节点本身。
您的日志出现了两次,因为测试将使用相同的节点运行两次,并且您尝试使用.sign属性标记节点,因此在第二次断言时总是会失败。

也应该显示测试。末尾附加了一张图片。图片仅显示输出,而不显示输入数据。函数是如何调用的?可能测试使用不同的值多次调用您的函数。我不知道参数到底是什么。我开始怀疑这个kata中有一个bug…顺便说一句,我已经编辑了图片。非常感谢你的回答,我尝试以一种新的方式解决。非常感谢。