js中将一个一维数组中的元素放到另一个一维数组元素下
1.效果展示图
2.我的代码展示
var arrayA = successResponse.data
var arrayB = children
// 临时数组对象C
var arrayC = {}
// 遍历数组B,以id的值作为数组的key,name的值作为数组的value,存放到临时数组arrayC
for (let i = 0; i < arrayB.length; i++) {
// 为arrayC添加名称为arrayB[i].id的属性字段,值等于arrayB[i].name
arrayC[arrayB[i].id] = arrayB[i]
// arrayC[arrayB[i].id] = arrayB[i].dev_name
}
// 遍历数组A,以name作为key,arrayC中对应当前id的key的值作为value
for (let i = 0; i < arrayA.length; i++) {
// 为arrayA[i]添加名称为name的属性字段,值等于arrayC[arrayA[i].id]
arrayA[i]['children'] = arrayC[arrayA[i].id]
}
console.log('arrayc', arrayA)
3.怕各位看看不懂,我写一个简单的例子
(1)先上效果图展示:
(2)前端代码展示部分:
var arrayA = [
{
id: 1001,
age: '20'
},
{
id: 1002,
age: '21'
},
{
id: 1003,
age: '22'
}
]
var arrayB = [
{
id: 1001,
name: {
id: 34,
name: '300M室外无线CPE_V2',
address: '300M室外无线CPE_V2'
}
},
{
id: 1002,
name: '李四'
},
{
id: 1003,
name: '王五'
}
]
var arrayC = {}
// 遍历数组B,以id的值作为数组的key,name的值作为数组的value,存放到临时数组arrayC
for (let i = 0; i < arrayB.length; i++) {
// 为arrayC添加名称为arrayB[i].id的属性字段,值等于arrayB[i].name
arrayC[arrayB[i].id] = arrayB[i]
// arrayC[arrayB[i].id] = arrayB[i].dev_name
}
// 遍历数组A,以name作为key,arrayC中对应当前id的key的值作为value
for (let i = 0; i < arrayA.length; i++) {
// 为arrayA[i]添加名称为name的属性字段,值等于arrayC[arrayA[i].id]
arrayA[i]['children'] = arrayC[arrayA[i].id]
}
console.log('arrayc', arrayA)
注意:是两个一维数组,一个一维数组中的对象元素,遍历到另外一个一维数组的对象下,并赋值一个名称