我在做一个挑战,我不想知道挑战的答案,但是我遗漏了一些东西。我正在尝试循环一个对象,并将它的条目与一个给定的数组进行比较。下面是代码。
function score(dice){
let res;
const diceStr = "" + dice.sort();
const states = {
1000: [1, 1, 1],
600: [6, 6, 6],
500: [5, 5, 5],
400: [4, 4, 4],
300: [3, 3, 3],
200: [2, 2, 2],
100: [1],
50: [5],
}
for(const [key,entry] of Object.entries(states)){
if(diceStr.includes(entry.toString())) res = key
else res = 0
}
return res;
}
'
第一个月
这个条目的结果应该是400,但它不是,我不明白为什么。正如我之前所说,我只需要知道这个错误背后的原因。我没有说,这个挑战的目标是什么或我从哪里得到它,-即使它看起来很明显-因为我不想解决这个挑战。我只是不能看到我的错误在这里。
这里是另一个日志,我认为完全相同的事情必须从函数中出来,它的结果是真的在控制台。console.log('3,3,4,4,4'.includes('4,4,4'));
如果这是一个重复的问题,或者有任何方法可以让我间接地意识到这里的错误,请引导我到那个文档或问题。
谢谢你抽出时间。
1条答案
按热度按时间wqsoz72f1#
我建议使用find函数,而不是for循环。
这使得代码更简洁、可读性更强,而且您不必担心else条件。