查找两个数组具有相同值的索引是一个常见的编程问题,通常涉及到数组操作和比较。这个问题的核心在于如何高效地找到两个数组中相同元素的索引。
function findSameIndexes(arr1, arr2) {
const result = [];
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr2.length; j++) {
if (arr1[i] === arr2[j]) {
result.push({ index1: i, index2: j });
}
}
}
return result;
}
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [5, 4, 3, 2, 1];
console.log(findSameIndexes(arr1, arr2));
// 输出: [ { index1: 0, index2: 4 }, { index1: 1, index2: 3 }, { index1: 2, index2: 2 }, { index1: 3, index2: 1 }, { index1: 4, index2: 0 } ]
function findSameIndexes(arr1, arr2) {
const map = new Map();
const result = [];
for (let i = 0; i < arr1.length; i++) {
map.set(arr1[i], i);
}
for (let j = 0; j < arr2.length; j++) {
if (map.has(arr2[j])) {
result.push({ index1: map.get(arr2[j]), index2: j });
}
}
return result;
}
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [5, 4, 3, 2, 1];
console.log(findSameIndexes(arr1, arr2));
// 输出: [ { index1: 0, index2: 4 }, { index1: 1, index2: 3 }, { index1: 2, index2: 2 }, { index1: 3, index2: 1 }, { index1: 4, index2: 0 } ]
通过以上方法,可以高效地找到两个数组中相同值的索引,并根据具体需求选择合适的算法。
领取专属 10元无门槛券
手把手带您无忧上云