为什么'abc'.indexOf([])=== 0?

时间:2016-09-23 03:00:08

标签: javascript

我试图获得另一个值的字符串索引

let index = 'any string'.indexOf([]);
console.log(index); // 0

为什么索引值为0

1 个答案:

答案 0 :(得分:2)

String.prototype.indexOf将作为搜索模式给出的任何对象转换为字符串。

[]的字符串表示形式为''(空字符串) 如果您将indexOf('')应用于任何字符串,它将返回0.

console.log([].toString());

console.log('qwerty'.indexOf([])); // this one gives the same result
console.log('qwerty'.indexOf('')); // as this one

console.log(['a', 1].toString());

console.log('gfdsa,12345'.indexOf(['a', 1])); // these two give 
console.log('gfdsa,12345'.indexOf('a,1')); // the same result as well