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

时间:2017-06-20 02:15:33

标签: javascript

我正在做这个codewar kata:http://www.codewars.com/kata/52a89c2ea8ddc5547a000863/train/javascript

请查看此图片: kata instructions and my test result

我的代码:

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请帮忙,谢谢。

1 个答案:

答案 0 :(得分:0)

您的解决方案通过了第一次测试,但没有通过其他测试。因为其余的测试旨在防止像你这样的解决方案通过。尽量不要修改节点本身。 您的日志出现了两次,因为测试意味着使用相同的节点运行两次,并且因为您尝试使用.sign属性标记节点,所以在第二个断言中它总是会失败。