如果找到状态,我正在映射.功能似乎工作正常,但有更短的方式或替代方式?
例如:
data = {
Items: [
{Id: 434, Status: "Processing"},
{Id: 223, Status: "Completed"}
]
}
mapperData = {
Id: 223,
Name: "Hello World",
Status: data.Items.filter(function(item) {
if (item.Id == 223) {
return item.Status
}
})[0].Status,
}
console.log(mapperData)
Run Code Online (Sandbox Code Playgroud)
回:
{Id:223,姓名:"Hello World",状态:"已完成"}
Status: data.Items.find(function(item) { return item.Id == 223; }).Status
Run Code Online (Sandbox Code Playgroud)
例如:
mapperData = {
Id: 223,
Name: "Hello World",
Status: data.Items.find(function(item) { return item.Id == 223; }).Status,
}
Run Code Online (Sandbox Code Playgroud)
使用ES2015 +箭头功能更好:
mapperData = {
Id: 223,
Name: "Hello World",
Status: data.Items.find(item => item.Id == 223).Status,
}
Run Code Online (Sandbox Code Playgroud)
find 在ES2015中添加了,但可以很容易地填充IE11等过时环境.
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |