2016-11-07 54 views
0

我有一個值的數組,我想插入到一個對象的屬性,但我不知道如何。這是我的對象。該屬性稱爲「」(位於最底部),並且你可以看到,我想插入數據(稱爲「結果」)到它的動態列表:Javascript:如何動態地填充屬性值數組?

var myConfig = { 
      globals: { 
       fontFamily: "Roboto" 
      }, 
      type: "bar", 
      backgroundColor: "#f4f2f2",         
      plotarea: { 
       backgroundColor: "#fff" 
      }, 
      scaleX: { 
       lineColor: "#7d7d7d", 
       tick: { 
        lineColor: "#7d7d7d" 
       }, 
       guide: { 
        visible: false 
       }, 
       values: [result[0]["Heading"], result[1]["Heading"], result[2]["Heading"], ...], 

      }}; 

有什麼辦法可以設置這個動態地將這個結果[「Heading」]數據放入我的「values」屬性中?

感謝

回答

2

因此,假設results是有Heading財產對象的數組,你只能得到那些陣列,使用map功能,像這樣:

values: result.map(function(item){ return item.Heading; }) 

map是ECMAScript 5.1中定義了一個新的ish函數,但所有主流瀏覽器都支持它。基本上,對於數組中的每個項目,它都會執行提供的選擇器函數,並返回結果。因此,您將從具有Heading屬性的對象數組開始,最後以屬性值本身的數組結尾。

+0

完美,謝謝! – goalie35

1

做出另一個功能來做到這一點。這是一個數組。

您應該至少遍歷一次。

function getHeading(arr) { 
    var aa = []; 
    for(var i = 0, size = arr.length ; i < size ; i++) { 
     aa.push(arr[i].Heading); 
    } 
    return aa; 
} 
var myConfig = { 
    globals: { 
     fontFamily: "Roboto" 
    }, 
    type: "bar", 
    backgroundColor: "#f4f2f2",         
    plotarea: { 
     backgroundColor: "#fff" 
    }, 
    scaleX: { 
     lineColor: "#7d7d7d", 
     tick: { 
      lineColor: "#7d7d7d" 
     }, 
     guide: { 
      visible: false 
     }, 
     values: getHeading(result), 
    }};