2012-02-07 31 views
0
var arr = [{ 
    key: "key1", value: "z" 
}, { 
    key: "key2", value: "u" 
}, { 
    ... 
}]; 

var sorted = arr.sort(function (a, b) { 
    return a.key === b.key ? 0 
     : a.key < b.key ? -1 : 1; 
}); 

sorted.unshift({key:"Unknown", value:"0"}); 

var StateArr = []; 
for(i=0;i<sorted.length;i++){ 
    StateArr.push(sorted[i].key); 
} 

alert("ARR" +StateArr); 

現在,當我提醒我排序後,我沒有得到任何迴應。爲什麼我的密鑰沒有被推入陣列。爲什麼我的鑰匙沒有被推入陣列內

+0

似乎對我來說http://jsbin.com/acoles/edit#javascript,html,live它是不是你所期望的? – 2012-02-07 10:37:23

+0

嘗試刪除'...'和周圍的大括號。 – georg 2012-02-07 10:39:30

+0

可能想嘗試訪問數組,而不是隻調用其指針...'alert(「ARR」+ StateArr [0] .key);' – 2012-02-07 10:43:15

回答

0

你的代碼工作正常(和「按預期」對我來說)。

你收到了什麼,你期望什麼?