返回第一个数组更改的索引

时间:2017-02-08 12:22:29

标签: javascript

给定数组[0, 0, 1, 1, 1],如何返回第一个更改的索引(在这种情况下为索引2,从0更改为1)。

另一个例子,[1, 1, 1, 1, 1, 2, 2]应该返回5

2 个答案:

答案 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));