【发布时间】:2019-02-27 16:51:05
【问题描述】:
我正在寻找在数组中设置对象值的最快和最资源友好的方法。也可以使用 ES6 语法。
假设我有这个对象数组:
let group = [
{
id: 1,
name: 'Test 1',
geo: 'Japan',
car: 'Toyota'
},
{
id: 2,
name: 'Test 2',
geo: 'USA',
car: 'Tesla'
},
{
id: 3,
name: 'Test 3',
geo: 'Germany',
car: 'Audi'
}
];
我想根据用户输入获取这些对象之一。假设我们想通过对象的 ID 获取第 3 项的索引:
let index = group.findIndex(g => g.id === payload.id);
一旦我有了索引,我想像这样为这个对象分配新值:
group[index].id = payload.id;
group[index].name = payload.name;
group[index].geo = payload.geo;
group[index].car = payload.car;
但是它又长又丑,想象一下如果你在这个对象中有 50 多个值。
问题:有没有更短、更有效的方法来达到同样的效果?也包括 ES6-ES7 语法。
【问题讨论】:
-
ID 是唯一的吗?我的意思是,如果是这样,您可能根本不需要获取索引,并且解决方案会变得更简洁。
-
@vahdet 是的,ID 是唯一的。
标签: javascript ecmascript-6 ecmascript-2016