我在Javascript中有一个对象数组,其中包含两个具有此结构的键:
"data": [
{
"description": "Unknown",
"type": 0
},
{
"description": "On",
"type": 1
},
{
"description": "Off",
"type": 2
},
...
]
Run Code Online (Sandbox Code Playgroud)
我想传递一个'type'数值,如果它在数组中找到它,则返回描述值.例如,如果我传递'0',我希望它返回'未知'.
这可以通过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);Run Code Online (Sandbox Code Playgroud)
或者为了更快地访问,请使用类型的哈希表
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]);Run Code Online (Sandbox Code Playgroud)
或者a 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));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |