2012-02-07 34 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

你的代码工作正常(和“按预期”对我来说)。

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