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

如何在JS中按多维数组每行的第0个值过滤去除重复项

JS多维数组按首项去重实现方案

你可以通过Set存储已出现的子数组首项值,配合数组filter方法完成过滤,天然保留第一次出现的条目,实现代码如下:

// 原始数组
const originalArr = [
  ['firstname', 'id'],
  ['FootContact Team', '1'],
  ['Cergy Pontoise Football Club', '2'],
  ['visiteur', '42'],
  ['visiteur', '43'],
  ['visiteur', '44'],
  ['monaco', '45'],
  ['monaco', '46'],
  ['paris', '47'],
  ['paris', '48']
];

// 去重逻辑
const existedKeys = new Set();
const filteredArr = originalArr.filter(item => {
  const currentKey = item[0];
  if (!existedKeys.has(currentKey)) {
    existedKeys.add(currentKey);
    return true;
  }
  return false;
});

console.log(filteredArr); // 输出结果和你预期的完全一致

逻辑说明

  • 基于Set的O(1)查询特性,整体仅需遍历数组1次,时间复杂度为O(n),性能表现优异
  • 遍历顺序和原数组保持一致,会自动保留每个key对应的第一个条目
  • 操作过程不会修改原数组,返回的是全新的过滤后数组,不会污染原有数据

内容的提问来源于stack exchange,提问作者Laura Bossy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:24:02