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

JavaScript中校验两个数组指定索引位置值是否相等的方法

JS数组指定索引值匹配校验方法

原生JavaScript没有提供直接实现该需求的内置方法,你可以基于Array.every()方法自行封装工具函数实现:

/**
 * 校验两个数组指定索引位置的值是否完全相等
 * @param {Array} arr1 待对比数组1
 * @param {Array} arr2 待对比数组2
 * @param {Array} indexes 要校验的索引集合
 * @returns {Boolean} 所有指定位置值都相等返回true,否则返回false
 */
function checkIndexesMatch(arr1, arr2, indexes) {
  // 遍历所有指定索引,判断对应位置值是否全部相等
  return indexes.every(index => {
    // 可选:增加索引存在性校验,避免越界时undefined相等的误判
    return arr1.hasOwnProperty(index)
      && arr2.hasOwnProperty(index)
      && arr1[index] === arr2[index]
  })
}

测试示例

示例1:校验最后3个索引(6、7、8)

const arr1 = [1,2,1,0,0,0,2,2,2]
const arr2 = [0,0,0,0,0,0,2,2,2]
console.log(checkIndexesMatch(arr1, arr2, [6,7,8])) // 输出:true

示例2:校验索引0、4、8

const arr1 = [1,2,3,0,1,2,4,2,1]
const arr2 = [1,0,0,0,1,0,0,0,1]
console.log(checkIndexesMatch(arr1, arr2, [0,4,8])) // 输出:true

注意事项

  • 上述代码默认使用===做严格相等判断,如果你需要对比引用类型(对象、数组等)的值,需要自行替换相等判断逻辑
  • 如果你能保证传入的索引一定在两个数组的有效长度范围内,可以省略hasOwnProperty的判断,减少执行开销

内容的提问来源于stack exchange,提问作者George Barda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:45:04