function sym(...args) {
let arr = [...args];
while(!arr.length === 0) {
arr.pop();
console.log(arr.length);
}
}
console.log(sym([1,2,5],[2,3,5],[3,4,5]));
我正试图解决一个问题,但另一个问题出现了。有人能给我解释一下为什么这个日志没有定义吗?严格相等运算符记录未定义,但正常相等运算符不记录,即使arr.length
返回一个数字。
!
的运算符优先级高于===
。
while(!arr.length === 0) {
等价于
while((!arr.length) === 0) {
将布尔值与数字进行比较永远不会与===
一起工作,但有时会与==
一起工作-但无论哪种方式,这都不是您想要的。用!== 0
代替。
function sym(...args) {
let arr = [...args];
while(arr.length !== 0) {
arr.pop();
}
return arr;
}
console.log(sym([1,2,5],[2,3,5],[3,4,5]));