javascript - 按键合并带下划线的数组
问题描述
我有 2 个数组:
[{id:1,name:"name"},{id:2,name:"name2"} ,{id:3,name:"name3"}]
[{id:1,date:"123"},{id:2,date:"456"}]
仅当 id 相等时才应更新数组 1:因此数组 1 看起来像
它不应该创建一个新数组。仅根据数组 2 更新数组 1
[{id:1,name:"name",date:"123"},{id:2,name:"name2",date:"456"} ,{id:3,name:"name3"}]
我设法在 for 过滤器上和内部使用 for 循环来做到这一点,array2
如下所示:
._filter(array1,function(item){
If(item.id=array2.id)
Do smth and update the array1.date
})
我如何以最好的方式做到这一点?使用 underscore.js
解决方案
尝试这个 :
var a = [{id:1,name:"name"},{id:2,name:"name2"} ,{id:3,name:"name3"}] ;
var b = [{id:1,date:"123"},{id:2,date:"456"}] ;
var i = 0, j = 0 ;
while( i < a.length ) {
j = 0 ;
while( j < b.length) {
if ( a[i].id === b[j].id )
Object.assign( a[i] , b[j] );
j++;
}
i++;
}
console.log(a) ;
推荐阅读
- c# - 合并源列表
和 SourceCache - azure-devops - 签出 Azure Devops 多阶段 yaml 文件中的特定文件夹
- python - 在 Python 中转换期间音频未与视频合并
- typescript - TypeScript 在 Map 中保留类
- linux - 在 archiso 更新 customize_airootfs.sh 被删除 有人可以帮助我吗?
- python - boto3:尝试列出存储桶中的对象时是否需要 aws_session_token?
- r - 模型不良且无重要变量的原因
- c# - “更新服务参考”在“Reference.cs”中填充项目命名空间
- python - 在 Jupyter Notebook 中导入河流库时出错
- r - lmer:随机因素被视为分组因素?