Javascript:如何动态填充属性值数组?

时间:2016-11-07 09:39:01

标签: javascript javascript-objects

我有一个值数组,我想将其插入到对象的属性中,但我不确定如何。这是我的目标。该物业被称为&#34; &#34; (位于最底部),正如您所看到的,我尝试将动态数据列表(称为&#34; 结果&#34;)插入其中:< / p>

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"], ...],

            }};

我有什么方法可以将此结果设置为动态地将此结果[&#34;标题&#34;]数据放入我的&#34;值&#34;属性?

由于

2 个答案:

答案 0 :(得分:2)

因此,假设results是具有Heading属性的对象数组,您可以使用map函数获取仅包含values: result.map(function(item){ return item.Heading; }) 函数的数组,如下所示:

map

Heading是一个新的功能,在ECMAScript 5.1中定义,但所有主流浏览器都支持它。基本上,对于数组中的每个项目,它将执行提供的选择器函数,并返回结果。因此,您从一个具有Heading属性的对象数组开始,最后得到一个ListView属性值的数组。

答案 1 :(得分: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 ),
    }};