【发布时间】:2018-09-13 01:50:28
【问题描述】:
所以我有这样的数组数组:
array1 = [boot = [value = [ enable =["some string"]]]]
还有一个对象数组:
array2 = [options=[ enable=[]], boot =[value =[something =[]]]]
我需要使用名称的“路径”将 array1 合并到 array2 以便我得到:
output = [options=[ enable=[]], boot =[value =[something[], enable =["some string"]]]
所以我必须深入研究对象,检测对象的通用名称,然后将 array1 的其余部分推到 array2 中的正确位置。知道怎么做吗?我尝试了一个递归函数,但它没有给我预期的结果! 这是我写的函数:
function mergeArrays(menu, array){
const arrayItem = Object.keys(array)[0];
var index = -1;
Object.values(menu).map(menuItem =>{
if(Object.keys(menuItem).indexOf(arrayItem) !== -1){
index = Object.keys(menuItem).indexOf(arrayItem);
}
})
if(index === -1){
menu.push(array);
return menu;
}else{
const menuItem = Object.values(menu)[index];
const rest = Object.values(menuItem);
const arrayItem = Object.values(array)[0];
mergeArrays(rest, arrayItem);
}
}
【问题讨论】:
-
这些都是数组,不是对象
-
您在第二个数组中忘记了 ]。
标签: javascript