【发布时间】:2018-05-11 23:06:46
【问题描述】:
我有 2 个对象数组
第一个叫做 data:
const data = [
{
id: 1,
nombre: 'Piero',
},
{
id: 4,
nombre: 'Nelson',
},
{
id: 7,
nombre: 'Diego'
},
]
第二个叫 subs:
const subs = [
{
id: 1,
name: 'Temprano',
},
{
id: 4,
name: 'A tiempo',
},
{
id: 7,
name: 'Tarde'
},
]
我想比较一下,如果它们具有相同的 ID,subs 数组会将其名称值传递给它,如果它不匹配,它会在数据中放置一个“-”数组,试试这个方法:
data.forEach((d)=>{
subs.forEach((s)=>{
if(d.id === s.id){
d.subname = s.name;
}
else {
d.subname = '-';
}
});
});
但始终使用'-' 分配值,就好像它不匹配任何值一样。我做错了什么?有没有其他更简单的方法来做到这一点?非常感谢您的帮助。
subs 数组的大小可能会有所不同。
【问题讨论】:
标签: javascript arrays ecmascript-6