[英]How to map an array to object
是否有內置的 lodash 函數來執行此操作:
let params = ['foo', 'bar', 'baz', 'zle']; let newArray = []; params.forEach((element, index) => { let key = "name" + index; newArray.push({ key: element }) }); console.log(newArray);
預期輸出應該是這樣的:
var object = {
a: {
name1: "foo",
name2: "bar",
},
b: {
name1: "baz",
name2: "zle",
}
}
願這對你有幫助。 我知道您應該提供更多真正想要實施的信息。 但我有一個想法可能對你有幫助。
let params = ['foo', 'bar', 'baz', 'zle'];
const keys = ['a', 'b', 'c', 'd']
let data = {}
while(params.length){
const [a, b] = params.splice(0, 2)
const key = keys.splice(0, 1)
data[key] = {
name1: a,
name2: b,
}
}
console.log(data)
輸出將是:
{
a: {
name1: "foo",
name2: "bar",
},
b: {
name1: "baz",
name2: "zle",
}
}
我已經解決了這個問題。 這個問題的解決方案是
let colLength = 4;
let breakableArray = _.chunk(data, 4);
breakableArray.forEach((arrayObject,key)=>{
let object = new Object();
for(let i = 0; i < colLength; i++) {
object[i] = arrayObject[i] != undefined ? arrayObject[i] : "-";
}
finalObject[key] = object;
})
您可以將數組轉換為類似 Json 的格式,可以像這樣完成
var jsonObj = {};
for (var i = 0 ; i < sampleArray.length; i++) {
jsonObj["position" + (i+1)] = sampleArray[i];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.