2012-01-30 96 views
-2

我有一个数组将数字列表推入数组中?

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); 
}); 
+1

***,看起来我的权利...... http://jsfiddle.net/WbASp/*** – xandercoded 2012-01-30 23:30:17

+0

'count'是什么?你能展示一个你想要什么样的最终'主题'数组的例子吗? (我已经给出了我的最佳猜测的答案,但我可以考虑对你的问题的几种其他解释。) – nnnnnn 2012-01-30 23:41:46

回答

0

如果你的目的是为最终阵列看起来像这样:

[ 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 }创建一个对象与on e属性称为“我”。

在你的代码,如果count是一个变量就像我上面显示你会使用它,即,:

item[count] = val; 

如果“数量”是你想要的属性被称为那么实际的字符串代码将按原样工作。

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

    topics.push(val); 

}); 


    console.log(topics); 
+0

是的,我意识到我的错误后改变了我的答案。 – 2012-01-30 23:42:32

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) 
})