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

根据对象的name属性移除数组中的非重复对象

移除数组中name属性仅出现一次的对象

要实现这个需求,我们可以分两步操作:先统计每个name属性的出现频次,再根据频次过滤数组,只保留出现多次的对象。

实现代码(JavaScript)

// 原始数组
const originalArray = [
    { "name": "Storage Capacity", "value": "64GB" },
    { "name": "Manufacturer Color", "value": "Black / Red / White / Green / Purpule" },
    { "name": "Carrier", "value": "Unlocked" },
    { "name": "Carrier", "value": "AT&T" },
    { "name": "Brand", "value": "Apple" },
    { "name": "MPN", "value": "NA" },
    { "name": "Model", "value": "Iphone 11" },
    { "name": "Color", "value": "Black" },
    { "name": "Color", "value": "White" },
    { "name": "Storage Capacity", "value": "128GB" },
];

// 第一步:统计每个name的出现频次
const nameCount = originalArray.reduce((countObj, item) => {
    countObj[item.name] = (countObj[item.name] || 0) + 1;
    return countObj;
}, {});

// 第二步:过滤数组,仅保留出现次数>1的对象
const filteredArray = originalArray.filter(item => nameCount[item.name] > 1);

console.log(filteredArray);

输出结果

运行上述代码后,filteredArray将只包含name为Color、Storage Capacity、Carrier的对象,符合需求:

[
    { "name": "Storage Capacity", "value": "64GB" },
    { "name": "Carrier", "value": "Unlocked" },
    { "name": "Carrier", "value": "AT&T" },
    { "name": "Color", "value": "Black" },
    { "name": "Color", "value": "White" },
    { "name": "Storage Capacity", "value": "128GB" }
]

内容的提问来源于stack exchange,提问作者Gia Nebieridze

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:25:19