gpt4 book ai didi

jquery - 过滤对象数组以将不同的值放入新数组中

转载 作者:行者123 更新时间:2023-12-01 07:07:01 25 4
gpt4 key购买 nike

我有created a fiddle here借助下面的一些答案来回答我的问题。

我有一个对象数组。 a 数组中的单个对象包含:

obj1, obj2, obj3...

其中一个对象的示例是:

{
client_id: "85"
id: 1477
organisation_id: 5
task_project_id: 26
project_name: "Reiciendis adipisci fugiat."
project_description: "Soluta consequatur labore et dolores"
task_description: "Qui sunt at aut."
task_end_time: null
task_start_time: "2016-05-21 09:00:00"
transaction_id: null
}

我想从第一个数组生成一个新的对象数组,其中包含不同的 task_project_id 条目。新数组应包含以下结构的不同对象:

{
task_project_id: 26
project_name: "Reiciendis adipisci fugiat."
}

我尝试过jQuery.greparray.filterarray.map但无济于事。我似乎也找不到使用“提取不同对象的数组”作为搜索的示例。有人可以给我举个例子吗?谢谢。

最佳答案

array.map 应该可以正常工作:

var b = a.map(function(e) {
return {
task_project_id: e.task_project_id,
project_description: e.project_description
}
});

编辑:通过存储已遇到的“已见过”任务项目 ID 的列表来过滤掉重复项:

var seen = {}; // keys = list of unique task project ids
var b = a.filter(function (e) {
return seen[e.task_project_id] ? false : (seen[e.task_project_id] = true);
});

把它们放在一起:

var newArray = (function (a) {
var seen = {};
return a.filter(function (e) {
return seen[e.task_project_id] ? false : (seen[e.task_project_id] = true);
}).map(function (e) {
return {
task_project_id: e.task_project_id,
project_description: e.project_description
}
});
})(oldArray);

关于jquery - 过滤对象数组以将不同的值放入新数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39311267/

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