2012-01-30 78 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) 
})