gpt4 book ai didi

javascript - 如果对象值在数组中是唯一的,则执行此操作

转载 作者:行者123 更新时间:2023-12-02 15:18:42 25 4
gpt4 key购买 nike

如果我有一个对象数组

[
{name: 'John', count: 5, isunique: false, occupation: 'carpenter'},
{name: 'Bob', count: 6, isunique: false, occupation: 'carpenter'},
{name: "John", count: 9, isunique: false, occupation: "barber"}
]

(这个数组很大),我想确定哪些职业是唯一的,在这种情况下返回一个新数组,其中仅 bool 值 isunique 发生变化,如下所示:

[
{name: 'John', count: 5, isunique: false, occupation: 'carpenter'},
{name: 'Bob', count: 6, isunique: false, occupation: 'carpenter'},
{name: "John", count: 9, isunique: true, occupation: "barber"}
]

这是否可以在 Javascript 中使用大数组有效地完成?我在这里完全不知所措。

最佳答案

一个选项是:

var count = data.reduce(function(ret, el) {
ret[el.occupation] = (ret[el.occupation] || 0) + 1;
return ret;
}, {});

data.forEach(function(el) { el.isunique = count[el.occupation] === 1; });

关于javascript - 如果对象值在数组中是唯一的,则执行此操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34255285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com