[英]Multiple arrays transformed to objects to one array with Node JS
例如我有這個數組:
a = [1, 2, 3];
b = ["a", "b", "c"];
我想從這些數組中創建一個對象,如下所示:
c = [{
a: 1,
b: "a"
},
{
a: 2,
b: "b"
},
{
a: 3,
b: "c"
}];
您可以使用Array.map
let a = [1, 2, 3]; let b = ["a", "b", "c"]; let c = a.map((v,i) => ({a:v, b: b[i]})); console.log(c);
您可以使用Array#reduce
進行以下操作:
var a = [1, 2, 3]; var b = ["a", "b", "c"]; var c = a.reduce((accumulator, e, index) => { return accumulator.concat({a: e, b: b[index]}); }, []) console.log(c);
您可以Array.forEach()
使用Array.forEach()
循環:
var a = [1, 2, 3]; var b = ["a", "b", "c"]; var c = []; a.forEach((item, index)=>{ c.push({a: item, b: b[index]}); }); console.log(c);
您可以獲取具有任意數量的屬性的對象並生成對象數組。
var a = [1, 2, 3], b = ["a", "b", "c"], result = Object .entries({ a, b }) .reduce((r, [k, a]) => { a.forEach((v, i) => Object.assign(r[i] = r[i] || {}, { [k]: v })); return r; }, []); console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
您可以使用如下所示的for循環:
var a = [1, 2, 3]; var b = ["a", "b", "c"]; var c = []; for (var i = 0; i < a.length; i ++) { c[i] = {'a': a[i], 'b': b[i]}; } console.log(c);
注意:此頁面中的大多數解決方案不檢查變量a
和b
的長度是否相同
var a = [1, 2, 3];
var b = ["a", "b", "c"];
function combine(a,b){
if (a.length === b.length){ // Check if both arrays have same length
var arr = []; // Make an empty array
for(var i=0; i<a.length; i++){ // iterate every element of the array
var obj = {} // Make an empty object
obj["a"] = a[i];
obj["b"] = b[i];
arr.push(obj);
}
}else{
throw "Arrays don't have the same length";
}
return arr;
}
combine(a, b); // Use it like a function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.