[英]How to merge 2 arrays with n elements into 1 array with n objects?
我想做這樣的事情:
const foo = ['aba', 'bab'];
const bar = [1, 2];
然后創建此數組:
result = [
{
text: foo[0]
number: bar[0]
},
{
text: foo[1]
number: bar[1]
}
]
Foo和bar的長度相等。
如果數組的長度相同,則可以使用Array#map遍歷每個項目 ,獲取項目和索引 ,然后創建新的對象數組,將文本設置為item ,將數字設置為bar[index]
。
const foo = ['aba', 'bab']; const bar = [1, 2]; const mapped = foo.map((item, index) => ({text: item, number: bar[index]})); console.log(mapped);
我將簡單地映射一個數組,並使用映射函數的第二個參數index來獲取另一個的值:
var result = foo.map((value, index) => ({
text: value, number: bar[index],
}));
簡單的溶蛋白
let result = [] ; const foo = ['aba','bab'] const bar = [1,2] for(let i = 0 ; i<foo.length;i++){ result[i]={} result[i].text = foo[i] ; result[i].number = bar[i]; } console.log(result) ;
假設長度始終相同,則可以執行以下操作:
var foo = ['aba','bab']
var bar = [1,2]
function makeObjects(f, b) {
return foo.map((o, i) => ({text: f[i], number: bar[i]}))
}
console.log(makeObjects(foo, bar))
// [{text: 'aba', number: 1}, {text: 'bab', number: 2}]
var foo = ['aba','bab'];
var bar = [1,2];
var result = [];
function a(){
for(var i=0;i<foo.length;i++){
result[i] = { text: foo[i], number:bar[i]};
}
console.log(result);
}
這是你想要的?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.