簡體   English   中英

Javascript-在物件中插入項目

[英]Javascript - Insert an item in Object

如何在Javascript對象中插入項目?

var colorData = new Object();
var stateData = {
           states:
            [
              { 'state' : 'CA', 'color' : '#61c419', 'amaguide' : '5'},
              { 'state' : 'AZ', 'color' : '#61c419', 'amaguide' : '5'}
            ]
    }

for (var i = 0; i < stateData.length; i++) {            
       colorData.push(stateData[i].state + ':' + stateData[i].color);            
    }

-------------------編輯--------------------

我想要以下格式的新colorData :-

{'CA': '#61c419', 'AZ':'#61c419'}

謝謝

Array.prototype.map()是您的朋友:

var stateData = {
           states:
            [
              { 'state' : 'CA', 'color' : '#61c419', 'amaguide' : '5'},
              { 'state' : 'AZ', 'color' : '#61c419', 'amaguide' : '5'}
            ]
    };


var colorData = stateData.states.map(function(ele) {
    return ele.state + ':' + ele.color;
});

如果您希望結果為{CA: '#61c419', AZ: '#61c419'} ,則:

var colorData = stateData.states.reduce(function(v, w) {
    v[w.state] =  w.color;
    return v; 
}, {});

非常容易嘗試一下

工作演示

var colorData = new Object();
var stateData = {
           states:
            [
              { 'state' : 'CA', 'color' : '#61c419', 'amaguide' : '5'},
              { 'state' : 'AZ', 'color' : '#61c419', 'amaguide' : '5'}
            ]
};
for(var i=0; i<stateData.states.length; i++)
{
    colorData[stateData.states[i].state] = stateData.states[i].color;
}

console.log(JSON.stringify(colorData));

產量

{"CA":"#61c419","AZ":"#61c419"}

只需將項目分配給對象屬性。 .push()用於數組。

var o = {};
o.newProperty = 'hier';
o.otherProperty = [1, 2, 3];

也許數組對此更好:

...
var colorData = new Array();
...

暫無
暫無

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

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