JavaScript,将对象转换为数组

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (10)

我有一个对象:

var obj = {
    "Mike": 24,
    "Peter": 23,
    "Simon": 33,
    "Tom": 12,
    "Frank": 31
};

我想创建一个包含对象值的数组。密钥(密钥名称)可以忽略:

[24, 23, 33, 12, 31]

一个解决方案(显然)会有一个函数,它接受这些值并将它们放入一个数组中:

var arr = valuesToArray(obj); 

我会接受这样的功能作为答案。不过,如果能够做到这一点的API函数(ECMAScript,jQuery,特定于浏览器的......),我会更加高兴。有这样的事吗?

提问于
用户回答回答于

做一个for-in循环,但仅仅用于记录,并且由于您在寻找内置方式,因此可以将新的ECMAScript 5方法Object.keysArray.prototype.map,在最新的浏览器上可用:

function valuesToArray(obj) {
  return Object.keys(obj).map(function (key) { return obj[key]; });
}
用户回答回答于

用jQuery你可以使用每个函数:

var obj = {
    "Mike": 24,
    "Peter": 23,
    "Simon": 33,
    "Tom": 12,
    "Frank": 31
}

myArray=new Array();
$.each(obj, function(key, value) { 
  myArray.push(value);
});

扫码关注云+社区