gpt4 book ai didi

Javascript 对象数组 : Best way to return a value?

转载 作者:行者123 更新时间:2023-11-30 07:51:55 26 4
gpt4 key购买 nike

我在 Javascript 中有一个对象数组,其中有两个具有这种结构的键:

"data": [
{
"description": "Unknown",
"type": 0
},
{
"description": "On",
"type": 1
},
{
"description": "Off",
"type": 2
},
...
]

我想向它传递一个“类型”数值,如果它在数组中找到它,则返回描述值。例如,如果我传递“0”,我希望它返回“Unknown”。

这很容易通过 for 或 forEach 循环完成,但是 JS 中有一个内置函数可以让我在一行中完成它?

最佳答案

您可以使用 find

var data = [{ description: "Unknown", type: 0 }, { description: "On", type: 1 }, { description: "Off", type: 2 }];

console.log(data.find(({ type }) => type === 1).description);

或者为了更快的访问使用类型的哈希表

var data = [{ description: "Unknown", type: 0 }, { description: "On", type: 1 }, { description: "Off", type: 2 }], 
types = Object.assign(...data.map(({ type, description }) => ({ [type]: description })));

console.log(types[1]);

Map

var data = [{ description: "Unknown", type: 0 }, { description: "On", type: 1 }, { description: "Off", type: 2 }], 
types = data.reduce((m, { type, description }) => m.set(type, description), new Map);

console.log(types.get(1));

关于Javascript 对象数组 : Best way to return a value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51245223/

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