gpt4 book ai didi

arrays - 如何使用 node.js 从 json 数组中获取新的数字列表

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:50 25 4
gpt4 key购买 nike

给定这个 json 对象

{
"contacts": [
{
"name": "Jane doe",
"numbers": [
{
"number": "07123456789"
}
],
"groups": [
{
"group": "Everyone"
},
{
"group": "Exec"
}
]
},
{
"name": "John Smith",
"numbers": [
{
"number": "07987654321"
}
],
"groups": [
{
"group": "Everyone"
}
]
}
]
}

如何返回一个新的电话号码数组,其中组等于给定值。

例如,我希望有一个“07123456789”数组,其中联系人组=“Exec”

此外,如果 Group =“Everyone”,我希望有一个包含 2 个项目的数组:“07123456789”和“07987654321”

我已经尝试过:

 var data = require('../data/data.json')

var peopleInGroup = data.contacts.filter(function (value) {
value.groups.filter(function (type) {
return type.group === recipients[i];
})
});

recipients 是一组“Everyone、“​​Exec”、“Overseas”组

最佳答案

关注此post我稍微改变了第二个获得最多支持的答案代码:

const getContactsByGroupName = (groupName) => {
return a.contacts
.filter((element) =>
element.groups.some((subElement) => subElement.group === groupName))
.map(element => {
return Object.assign({}, element, { group: element.groups.filter(subElement => subElement.group === groupName) });
});
}

console.log(getContactsByGroupName("Exec"))

这应该可以解决问题。这里的变量a当然是你的json对象名称

关于arrays - 如何使用 node.js 从 json 数组中获取新的数字列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58097820/

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