簡體   English   中英

如何將數組轉換為對象數組

[英]How to convert arrays into an array of objects

嗨,我正在嘗試從多個數組中組成一個對象數組。這可能是一個非常基本的問題,但是我沒有找到通過在線搜索實現此目的的正確方法。 :(

我得到的原始數據是

valueYes = [15,30,22,18,2,6,38,18];
valueNo = [23,75,45,12,45,9,17,23];
valueNotSure = [1,-1,1,1,-1,-1,-1,1];

我想要實現的是一個像這樣的數組:

data = [object1, object2,.....]

每個對象都是由:

object1 = {valueYes:15, valueNo:23,valueNotSure:1}
object2 = {valueYes:30, valueNo:75,valueNotSure:-1}
.......

我當前的代碼有點混亂,它僅向我返回每個鍵的空值:

valueYes = [15,30,22,18,2,6,38,18];
valueNo = [23,75,45,12,45,9,17,23];
valueNotSure = [1,-1,1,1,-1,-1,-1,1];

var object1 = Object.create({}, { 
    myChoice: { value: function(myChoice) {for  (var i = 0; i < len; i++){return this.myChoice[i] = myChoice[i];} } } 

});

假設所有數組的大小相同:

valueYes = [15,30,22,18,2,6,38,18];
valueNo = [23,75,45,12,45,9,17,23];
valueNotSure = [1,-1,1,1,-1,-1,-1,1];

var data = [];

for(var i = 0; i < valueYes.length; i++){
    data.push({
        valueYes: valueYes[i],
        valueNo: valueNo[i],
        valueNotSure: valueNotSure[i]
    });
}

您可以使用如下所示的內容:

var objs = valueYes.map(function (v, i) {
    return {
        valueYes: v,
        valueNo: valueNo[i],
        valueNotSure: valueNotSure[i]
    };
});

...這使用map() Array方法 ,並假設所有數組的長度相同...

這個?

var valueYes = [15,30,22,18,2,6,38,18];
var valueNo = [23,75,45,12,45,9,17,23];
var valueNotSure = [1,-1,1,1,-1,-1,-1,1];

var data = [];
valueYes.forEach(function(item, index) {
    data.push({ valueYes: valueYes[index], valueNo: valueNo[index], valueNotSure: valueNotSure[index] });
});

console.log(data);

http://jsfiddle.net/chrisbenseler/9t1y1zhk/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM