如何將不同陣列中的資料合并到 json 形式的組合陣列中。
let NAME: any[] =[]
let TYPE: any[] = []
let OBJ: any[] =[]
for (var i=0;i<getdata.length;i )
{
var p =getdata[i].name;
**var a =NAME.push(p);** // pushing data to Name
for (var j in getTypes[i])
{
if (getdata[i].name ==getTypes[i][j].data.name) // get type is having req. data here
{
var k = getTypes[i][j].name ;
**var s =TYPE.push(k);** //pushing data to type
}
}
for (var j in getobj[i])
{
if (getdata[i].name ==getobj[i][j].library.name)
{
var o = getobj[i][j].name ;
**var g = OBJ.push(o);** // pushing data to OBJ
}
}
}
console.log(NAME); // result getting :- ['A','B','C']
console.log(TYPE); // result getting :- ['A1','A2','B1','B2','C1','C2']
console.log(OBJ); // result getting :- ['AA1','AA2','BB1','BB2','CC1','CC2']
});
需要這樣的資料:
{ id=1; 名稱:一個 OBJ:'A1','A2' 型別:'AA1','AA2' }
{ id=2; 名稱:B 物件:'B1','B2' 型別:'BB1','BB2' }
{ id=C; 名稱:C 物件:'C1','C2' 型別:'CC1','CC2' }
uj5u.com熱心網友回復:
假設 getdata、getTypes 和 getobj 符合以下條件:
getdata是一個物件陣列,每個物件都有name一個道具getobj是一個二維陣列,它getobj[i]與 on 上的資料匹配,getdata[i]并且內部陣列中的每個元素由以下組成:library.name和namegetTypes是一個二維陣列,它getType[i]與 on 上的資料匹配,getdata[i]并且內部陣列中的每個元素由:data.name和name.
以下解決方案是實作預期結果的一種潛在方法:
const desiredObjectArray = getdata.map((data, idx) => ({
id: idx,
NAME: data.name,
OBJ: getobj[idx].filter(
obj => obj.library.name === data.name
).map(objData => objData.name),
TYPE: getTypes[idx].filter(
typ => typ.data.name === data.name
).map(typData => typData.name)
}));
解釋/方法
- 用于
.map迭代getdata陣列。 - 直接填充
idandNAME - 對于
OBJ在 處的陣列進行迭代,僅過濾與 匹配的getobj[idx]那些元素,然后映射物件以僅獲取library.namegetdata[idx].namename - 要
TYPE遍歷陣列 at ,僅過濾匹配getTypes[idx]的那些,然后映射物件以僅回傳data.namegetdata[idx].namename
uj5u.com熱心網友回復:
const NAME = ['A','B','C']
const OBJ = ['A1','A2','B1','B2','C1','C2']
const TYPE = ['AA1','AA2','BB1','BB2','CC1','CC2']
const result = []
NAME.forEach((item, index) => {
const obj = []
const type = []
obj.push(obj[index], obj[index 1])
type.push(type[index], type[index 1])
result.push({
id: index 1,
NAME: item,
OBJ: obj,
TYPE: type
})
})
return result
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/419649.html
標籤:
