我有一个数字 1-20 的数组。当我使用indexOf并尝试找到“2”的位置时,它说它在3(正确)。
我有一个名为 day = 2 的变量。当我使用代码 array.indexOf(day) 时,它返回 -1。
为什么会出现这种情况?
function indexofnotworking() {
let arr = [...new Array(20).keys()];
[...Array.from(new Array(5).keys(), x => x + 5)].forEach(n => {
console.log('arr: %s n: %s index: %s', JSON.stringify(arr), n, arr.indexOf(n));
})
}
11:35:09 AM Info arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 5 index: 5
11:35:09 AM Info arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 6 index: 6
11:35:09 AM Info arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 7 index: 7
11:35:09 AM Info arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 8 index: 8
11:35:09 AM Info arr: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] n: 9 index: 9