将数字列表推入数组?

时间:2012-01-30 23:27:57

标签: jquery arrays push

我有一个数组

 var topics = [];

我有一个数字1-10的列表

var obj = {one:1, two:2, three:3, four:4, five:5, six:6, seven:7, eight:8, nine:9, ten:10};

我只是想将数字推入数组但不确定在推送功能中将其称为什么?:

$.each(obj, function(i, val) { 
    topics.push({
        count: val
    });
    console.log(val);
});

3 个答案:

答案 0 :(得分:1)

如果您打算让最终数组看起来像这样:

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

然后在你现有的功能中你只需要说:

topics.push(val);

如果您打算让最终数组看起来像这样:

[ "one", "two", "three", "four" /* etc */ ]

然后在你现有的功能中你只需要说:

topics.push(i);

如果您打算让最终数组看起来像这样:

[ { one : 1 }, { two : 2 }, { three : 3 } /* and so forth */ ]

然后你会这样做:

$.each(obj, function(i, val) {
   var item = {};
   item[i] = val;
   topics.push(item);
   console.log(val);
});

你不能只说:

topics.push( { i : val } );

因为JS对象文字语法不允许对属性名称(键)使用变量,尽管它确实允许属性值的变量,因此{ i : val }创建一个具有一个名为“i”的属性的对象。 / p>

在你的代码中,如果count是一个变量,你会像我上面所说的那样使用它,即:,

item[count] = val;

如果“count”是您希望调用该属性的实际字符串,那么您的代码将按原样运行。

答案 1 :(得分:1)

var topics = []
var obj = {one:1, two:2, three:3, four:4, five:5, six:6, seven:7, eight:8, nine:9, ten:10};

Javascript方式,

for(var i in obj){
topics.push(obj[i])
}

jQuery方式,

$.each(obj,function(k,v){
topics.push(v)
})

答案 2 :(得分:0)

 $.each(obj, function(i, val) { 

    topics.push(val); 

 });


   console.log(topics);