我试图检查两个数组是否相同,但它不适用于长度为1的数组!
控制台输出预期是
true
false
true
false
Run Code Online (Sandbox Code Playgroud)
var test1 = [0,1,2];
var test2 = [0,1,2];
console.log(test1.toString() == test2.toString());
console.log(test1.toString() == !test2.toString());
test1 = [0];
test2 = [0];
console.log(test1.toString() == test2.toString());
console.log(test1.toString() == !test2.toString());Run Code Online (Sandbox Code Playgroud)
导致最后一个被评估为:
[0].toString() == ![0].toString()
"0" == !"0"
"0" == !true
"0" == false
0 == false
false == false
true
Run Code Online (Sandbox Code Playgroud)
TLDR:不要尝试通过对它们进行字符串化来比较它们,它总会导致一些意想不到的副作用.
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |