You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何找出两个数组中相同索引位置的相同元素?

找出两个数组相同索引位置的相同元素

你需要的是两个数组同一索引位置上的相同元素,比如示例中只有索引2的元素都是C,所以返回['C']。

你的代码问题分析

你写的嵌套循环会遍历两个数组的所有元素对,只要元素相等就加入结果,这会把两个数组中所有重复的元素都找出来(比如示例里的A、B、C、D都会被匹配到),完全没考虑索引是否一致,所以不符合需求。

正确解法

解法1:单层for循环

直接遍历索引,同时对比两个数组对应位置的元素,还处理了数组长度不同的情况(取较短数组的长度避免索引越界):

let testing = [];
// 取两个数组中较短的长度,防止索引越界
const maxLen = Math.min(exe1.length, exe2.length);
for (let i = 0; i < maxLen; i++) {
  if (exe1[i] === exe2[i]) {
    testing.push(exe1[i]);
  }
}
return testing;

解法2:使用数组filter方法(更简洁)

利用filter方法的第二个参数index,直接对比对应索引的元素:

const testing = exe1.filter((item, index) => item === exe2[index]);
return testing;

测试示例

const exe1 = ['A','B','C','D','N'];
const exe2 = ['B','D','C','A','T'];
// 执行上述代码后,testing的值为 ['C']

内容的提问来源于stack exchange,提问作者Saim Ali Nadeem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 01:55:15