jquery映射具有键和值的对象

时间:2015-07-08 09:04:47

标签: jquery arrays object

我正在尝试将json对象映射到具有与键关联的值的数组。我需要保持键和值相关联,因为我将在之后对创建的数组进行排序。 我的对象看起来像这样:

{"178":"05HY24","179":"1HY12","292":"1HY24","180":"3HY12"}

我尝试用这个函数做数组:

value=$.map(value, function(value, key) { return key,value; });

但是键与我的值无关。键是0,1,2,3而不是178,179,292,180。 我尝试了很多东西,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:5)

var myHashMap = JSON.parse('{"178":"05HY24","179":"1HY12","292":"1HY24","180":"3HY12"}');
console.log(myHashMap[178]);
// => "05HY24"

// now map to array..
var myArray = $.map(myHashMap, function(value, index) {
   return [value];
});

console.log(myArray);

答案 1 :(得分:1)

你可以不使用jQuery来实现:

var values = {
  "178": "05HY24",
  "179": "1HY12",
  "292": "1HY24",
  "180": "3HY12"
};
var array = [];
for (var k in values)
  array.push({
    'k': k,
    'v': values[k]
  });
array.sort(function(a, b) {
  return a.k - b.k;
});
console.log(array);