JavaScript根据数据组合多个数组
当type等于all时,我需要将两个数组合并为一个数组。我有代码,但结果不正确。JavaScript根据数据组合多个数组,javascript,Javascript,当type等于all时,我需要将两个数组合并为一个数组。我有代码,但结果不正确。 const arr=[{value:'aa'},{value:'bb'}]; 常量arr2=[{type:'all'},{type:'text',value:'a2'},{type:'all'}] arr.forEach((项目、索引)=>{ arr2.forEach((项目、索引)=>{ 如果(items.type==='all'){ items.value=arr[index].value } }) }) l
const arr=[{value:'aa'},{value:'bb'}];
常量arr2=[{type:'all'},{type:'text',value:'a2'},{type:'all'}]
arr.forEach((项目、索引)=>{
arr2.forEach((项目、索引)=>{
如果(items.type==='all'){
items.value=arr[index].value
}
})
})
log(arr2)
改变正在循环的数据不是一个好主意
如果我理解正确,当type为all
时,您需要遍历arr2
并穿插arr
中的项目
我会用Array.map
来做这类事情:
const arr=[{value:'aa'},{value:'bb'}];
常量arr2=[{type:'all'},{type:'text',value:'a2'},{type:'all'}]
const combined=arr2.map(({type,…rest})=>type=='all'?{type,…arr.shift()}:{type,…rest})
console.log(组合)
感谢您的回复。