我在這里有兩個陣列:
let arr1 = [
{
sockets: 0,
implicitMods: [
' 2 to Level of Socketed AoE Gems',
' 2 to Level of Socketed Trap or Mine Gems'
],
explicitMods: [], // arr2[0] in here
},
{
sockets: 3,
implicitMods: [ 'Secrets of Suffering' ],
explicitMods: [], // arr2[1] in here
}
]
let arr2 = [
[
[ 'explicit.stat_2866361420' ],
[ 'explicit.stat_1978899297' ],
[ 'explicit.stat_2290031712' ],
[ 'explicit.stat_4294267596' ]
],
[
[ 'explicit.stat_2974417149' ],
[ 'explicit.stat_3556824919' ],
[ 'explicit.stat_789117908' ],
[ 'explicit.stat_124131830' ],
[ 'explicit.stat_1600707273' ],
[ 'explicit.stat_3742945352' ]
]
]
我想放在arr2[0]arr1 的第一個explicitMods和arr2[1]arr1 的第二個explicitMods,我怎樣才能得到陣列中的物件順序(egarr1[0]==={first object},arr1[1]==={second object})?以及如何實作我的目標?
我試著用
arr1.map(el=>el.explicitMods = arr2)
結果是explicitMods: [[Array], [Array]]
uj5u.com熱心網友回復:
您可以使用map(), 獲取索引并使用它來添加相應的值。
let arr1 = [{ sockets: 0, implicitMods: [' 2 to Level of Socketed AoE Gems', ' 2 to Level of Socketed Trap or Mine Gems'], explicitMods: [], }, { sockets: 3, implicitMods: ['Secrets of Suffering'], explicitMods: [], }];
let arr2 = [[['explicit.stat_2866361420'], ['explicit.stat_1978899297'], ['explicit.stat_2290031712'], ['explicit.stat_4294267596']], [['explicit.stat_2974417149'], ['explicit.stat_3556824919'], ['explicit.stat_789117908'], ['explicit.stat_124131830'], ['explicit.stat_1600707273'], ['explicit.stat_3742945352']]];
const result = arr1.map((v, i) => {
return {
...v,
explicitMods: arr2[i]
}
});
console.log(result);
uj5u.com熱心網友回復:
嘗試:
arr1.map((el, index)=> el.explicitMods = arr2[index])
uj5u.com熱心網友回復:
您可以嘗試創建兩個這樣的 for 回圈:
//For loop that starts from 0 to the length of the input array(arr2)
for(let i=0; i<arr2.length; i ){
//Save the expMods in i position temporally
let expMods = arr1[i].explicitMods;
//Make a loop for the first element of the arr2 which is also an array
for(let j=0; j<arr2[i].length; j ){
//Get the arr2 at current i pos and push into expMods the arr2[i][j]
let temp = arr2[i];
expMods.push(temp[j]);
}
}
我已經在控制臺中進行了測驗,它可以作業,請告訴我
uj5u.com熱心網友回復:
const arr1 = [
{
sockets: 0,
implicitMods: [
' 2 to Level of Socketed AoE Gems',
' 2 to Level of Socketed Trap or Mine Gems'
],
explicitMods: [], // arr2[0] in here
},
{
sockets: 3,
implicitMods: [ 'Secrets of Suffering' ],
explicitMods: [], // arr2[1] in here
}
]
const arr2 = [
[
[ 'explicit.stat_2866361420' ],
[ 'explicit.stat_1978899297' ],
[ 'explicit.stat_2290031712' ],
[ 'explicit.stat_4294267596' ]
],
[
[ 'explicit.stat_2974417149' ],
[ 'explicit.stat_3556824919' ],
[ 'explicit.stat_789117908' ],
[ 'explicit.stat_124131830' ],
[ 'explicit.stat_1600707273' ],
[ 'explicit.stat_3742945352' ]
]
];
for (let i = 0; i < arr1.length; i ) {
const item1 = arr1[i];
const item2 = arr2[i];
//item1.explicitMods.push(...item2);
item1.explicitMods.push(...item2.flat());
}
console.log(arr1);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/462494.html
標籤:javascript 节点.js 数组 目的
