数组未定义vs -1

时间:2017-11-21 05:25:32

标签: javascript arrays console.log

为什么这两个输出之间存在差异,比如说这段代码:

var animals = ["a", "b", "c", "d"];

console.log = [4];
console.log(animals.indexOf("e"));

同样,为什么在indexOf中说undefined vs -1?

2 个答案:

答案 0 :(得分:0)

indexOf()查找" e"在数组中。如果找到它将返回它所处的位置,否则它将始终返回-1。

console.log = [4]将[4]分配给console.log,它会覆盖函数console.log()并为其赋予一个值为4的数组值。

答案 1 :(得分:0)

应该这样写(纠正所有错误):

var animal = ["a", "b", "c", "d"];
console.log(animal.indexOf("e"));

现在可行。