查找两个数组的重复位置,javascript
Find duplicate position of two arrays, javascript
我有两个数组,一个 oldArray
和一个 newArray
。它们都是扁平的并且长度相同。我想要一个检查 newArray
是否有重复项的函数,并且我想要与 oldArray
.
中相比包含重复项的位置
示例:
var oldArr = ['abc', null, 'dd', null, 'cc]
var newArr = ['abc', null, 'dd', 'dd', 'cc]
dd
是重复的,它发生在与旧数组相比的第 3 位。有什么聪明的方法可以做到这一点吗?可以在回答中使用 underscore/lodash。
function find(oldA, newA){
var ret = {};
for(var i = 0; i < newA.length; i++){
if(newA.match(newA[i]).lenth > 1){
ret.value = newA[i]; res.pos = newA[i] === old[i]?newA.lastIndexOf(ret.value)?i;}
return ret;
}
var res = find(oldArray, newArray)
使用 Array#reduce
迭代 newArr
,并存储在 oldArr
中的另一个索引上找到的每个元素的位置:
var oldArr = ['abc', null, 'dd', null, 'cc'];
var newArr = ['abc', null, 'dd', 'dd', 'cc'];
var duplicates = newArr.reduce(function(d, e, i) {
var oldIndex = oldArr.indexOf(e);
oldIndex !== -1 && oldIndex !== i && d.push(i);
return d;
}, []);
console.log(duplicates);
我有两个数组,一个 oldArray
和一个 newArray
。它们都是扁平的并且长度相同。我想要一个检查 newArray
是否有重复项的函数,并且我想要与 oldArray
.
示例:
var oldArr = ['abc', null, 'dd', null, 'cc]
var newArr = ['abc', null, 'dd', 'dd', 'cc]
dd
是重复的,它发生在与旧数组相比的第 3 位。有什么聪明的方法可以做到这一点吗?可以在回答中使用 underscore/lodash。
function find(oldA, newA){
var ret = {};
for(var i = 0; i < newA.length; i++){
if(newA.match(newA[i]).lenth > 1){
ret.value = newA[i]; res.pos = newA[i] === old[i]?newA.lastIndexOf(ret.value)?i;}
return ret;
}
var res = find(oldArray, newArray)
使用 Array#reduce
迭代 newArr
,并存储在 oldArr
中的另一个索引上找到的每个元素的位置:
var oldArr = ['abc', null, 'dd', null, 'cc'];
var newArr = ['abc', null, 'dd', 'dd', 'cc'];
var duplicates = newArr.reduce(function(d, e, i) {
var oldIndex = oldArr.indexOf(e);
oldIndex !== -1 && oldIndex !== i && d.push(i);
return d;
}, []);
console.log(duplicates);