给定数组[0, 0, 1, 1, 1]
,如何返回第一个更改的索引(在这种情况下为索引2,从0
更改为1
)。
另一个例子,[1, 1, 1, 1, 1, 2, 2]
应该返回5
。
答案 0 :(得分:4)
使用findIndex
:
var a = [1, 1, 1, 1, 1, 2, 2];
var b = a.findIndex(v => a[0] !== v);
console.log(b);

请注意,IE不支持findIndex,但您可以使用我链接到的文档页面上的polyfill。
答案 1 :(得分:-2)
我希望这会解决
var givenArray = [1,1,1,1,1,2,2];
function result(arr) {
var PreValue = undefined;
for(var i in arr){
if(PreValue != undefined && PreValue != arr[i]) {
return i;
}
PreValue = arr[i];
}
}
console.log(result(givenArray));