我太菜了,试了一些遍历,替换都没有达到想要的效果,
各位大佬,能否指点下有什么方法,把目前我未实现的那个点给实现,球球了!!
数组一:id有重复的,长度是不确定的
var arr1 = [
{id:22},
{id:20},
{id:21},
{id:20},
{id:23}
...
]
数组二:
var arr2 = [
{projectId:20,name:'ubas'},
{projectId:21,name:'tatb'},
{projectId:22,name:'pro'},
{projectId:23,name:'pro-list'}
]
需求:要把数组一的每个 id 对应的name ,直接替换数组一的id值。从数组二中找。向下面这样
var arr1 = [
{id:'pro'}, id:22 变成 id:'pro'
{id:'ubas'}, id:20 变成 id:'ubas'
{id:'tatb'}, id:21 变成 id:'tatb'
{id:'ubas'}, id:20 变成 id:'ubas'
{id:'pro-list'} id:23 变成 id:'pro-list'
...
]
各位大佬,拜托了!
arr1.map(v=>({id: arr2.find(a=>a.projectId == v.id)?.name || v.id}))
快点的办法可以优化一下find逻辑,改成遍历做hash
