我有两个阵列
var valid = ["a", "b"];
var different = ["a", "c", "b"];
找出元素位置不同的最佳方法是什么?只有一个元素可以不同。
在这种情况下,不同的数组只改变一个元素,我想要不同数组的索引( 1 )。
答案 0 :(得分:1)
有多种方法可以做到这一点。例如,您可以迭代valid
数组,当值不匹配时,您就会知道不同值的index
。在这种情况下,它是1
。
var valid = ["a", "b"];
var different = ["a", "c", "b"];
valid.forEach(function (value, i) {
if (value !== different[i]) {
console.log(i); // 1
}
});
答案 1 :(得分:0)
返回不同值的索引:
var valid = ['a', 'b'];
var different = ['a', 'c', 'b'];
var diffIndex = valid.findIndex(function (value, index) {
return value !== different[index];
});
alert('Array differs at index: ' + diffIndex);
请注意,findIndex
是ES2015标准的一部分。