伙计们!
基本上我想用 arr1 中的每个元素替换 arr2 中所有对象的对象文字“标题”值。
const arr1 = ['first', 'second', 'third']
const arr2 = [
{
id: 1,
title: 'hello'
},
{
id: 2,
title: 'world'
},
{
id: 3,
title: ' ?'
}
]
最终结果如下:
const final = [
{
id: 1,
title: 'first'
},
{
id: 2,
title: 'second'
},
{
id: 3,
title: 'third'
}
]
我真的不明白我怎么能做这样的事情,我完全被困在这个阶段。
祝您有美好的一天!
答案 0 :(得分:1)
您可以克隆原始对象(以避免突变),然后使用 for 循环进行迭代以替换数组中的每个对象:
const arr1 = ['first', 'second', 'third']
const arr2 = [
{
id: 1,
title: 'hello'
},
{
id: 2,
title: 'world'
},
{
id: 3,
title: ' ?'
}
]
let result = JSON.parse(JSON.stringify(arr2));
for(let i = 0; i < arr2.length; i++){
result[i].title = arr1[i]
}
console.log(result)
答案 1 :(得分:0)
你可以这样做:
arr2.forEach((x,i)=>{x.title=arr1[i]})
x : 是元素
i : 是索引
示例:
var arr1 = ['first', 'second', 'third']
var arr2 = [
{
id: 1,
title: 'hello'
},
{
id: 2,
title: 'world'
},
{
id: 3,
title: ' ?'
}
]
arr2.forEach((x,i)=>{x.title=arr1[i]})
console.log(arr2)
如果您不想修改现有对象,可以使用 map
方法
arr2.map((x,i)=>{
return {id:x.id,title:arr1[i]}
})
示例:
var arr1 = ['first', 'second', 'third']
var arr2 = [
{
id: 1,
title: 'hello'
},
{
id: 2,
title: 'world'
},
{
id: 3,
title: ' ?'
}
]
var result = arr2.map((x,i)=>{
return {id:x.id,title:arr1[i]}
})
console.log(result)
答案 2 :(得分:0)
arr2.map((v, k) =>{
v.title = arr1[k]
});
您使用 arr1
中位于同一索引的字符串设置每个项目的标题。