2012-08-24 19 views
1

在JavaScript中創建新陣列時,我通常使用push,但我需要定義添加到陣列的每個對象的索引。在陣列上使用JavaScript push時定義索引

例如:

 var array = []; 
    _.each(items, function(item) { 
     array.push(item); 
    }); 

利用上述,我並不限定每個項的索引添加到數組。

我已經試過這樣:

 var array = []; 
    _.each(items, function(item) { 
     array[item.id] = item; 
    }); 

但我結束了一個空數組。任何幫助將是偉大的!

謝謝

+1

向我們展示'items' - 他們有什麼ID?他們不是數字嗎? – Bergi

+0

啊,不,實際上它不是一個整數。謝謝! – dzm

回答

0

我們需要查看數據。

特別是什麼是'item.id'?它是一個整數值嗎?

你真的想要使用一個與散列表相似的對象嗎?

0

由於您使用underscore.js,你可以定義你的迭代器功能

function(item, index){ 
    .. 
} 

它會幫你的索引變量填寫。

var items = ['a', 'b', 'c']; 
_.each(items, function(d, i){ console.log(d, i); }); 
// a 0 
// b 1 
// c 2