3 回答

TA貢獻1798條經(jīng)驗 獲得超7個贊
您可以通過映射各個索引并將它們?nèi)糠峙浣o一個新對象來輕松完成,這將減少您對中間步驟的需求
const arrays = [
[123, "string1"],
[4564564, "string2"],
[392341231, "string3"],
[1665342, "String4", 334934543, "string5"]
];
console.log( Object.assign( {}, ...arrays.map( i => ({[i[0]]: i[1] }) ) ) );

TA貢獻1815條經(jīng)驗 獲得超6個贊
你必須保持兩個鍵和值。迭代每個子數(shù)組,將第二項(值)分配到第一項(鍵)處的累加器:
const arrays = [
[123, "string1"],
[4564564, "string2"],
[392341231, "string3"],
[1665342, "String4", 334934543, "string5"]
];
const obj = arrays.reduce((a, subarr) => {
for (let i = 0; i < subarr.length; i += 2) {
a[subarr[i]] = subarr[i + 1];
}
return a;
}, {});
console.log(obj);

TA貢獻1875條經(jīng)驗 獲得超3個贊
你可以這樣做:
const arrays = [
[123, "string1"],
[4564564, "string2"],
[392341231, "string3"],
[1665342, "String4", 334934543, "string5"]
];
const s = arrays.reduce((acc, val) => {
let i = 0
while (i < val.length) {
acc[val[i]] = val[i + 1];
i += 2
}
return acc;
},{});
console.log( s )
添加回答
舉報