JavaScript中从对象到数组

JavaScript中从对象到数组,javascript,arrays,function,methods,javascript-objects,Javascript,Arrays,Function,Methods,Javascript Objects,我需要编写一个函数,它接收一个对象并返回一个包含该对象属性值的数组 例: 函数应返回如下数组: var array = ["John", 27, "USA"]; 我无法使用Object.values() 这就是我最后一次尝试的样子: function returnValues(obj) { for (var key in obj) { return obj[key]; } 它不会返回包含值的数组。有人能帮我吗 将其添加到数组中,然后返回数组 function returnV

我需要编写一个函数,它接收一个对象并返回一个包含该对象属性值的数组

例:

函数应返回如下数组:

var array = ["John", 27, "USA"]; 
我无法使用Object.values()

这就是我最后一次尝试的样子:

function returnValues(obj) {
    for (var key in obj) {
    return obj[key];
}

它不会返回包含值的数组。有人能帮我吗

将其添加到数组中,然后返回数组

function returnValues(obj) {
    var arr = [];
    for (var key in obj)
       arr.push(obj[key]);
    return arr;
}
您可以使用并在其上迭代以返回值:

function returnValues(obj) {
    return Object.keys(obj).map(function(key) {
       return obj[key];
    });
}
或者,您可以使用现有解决方案创建临时阵列:

function returnValues(obj) {
    var temp = [];
    for (var key in obj) {
       temp.push(obj[key]);
    }
    return temp;
}
通过ES6支持,您可以缩短到:

const returnValues = (o) => Object.keys(o).map(k => o[k]);
或使用:

或者正如@ibrahim mahrir指出的,如果您拥有ES2017支持,您可以使用:


您可以尝试使用地图:

var obj={
姓名:“Joao”,
年龄:27岁,
国家:“美国”
};
var数组=Object.keys(obj.map)(item=>obj[item]);

console.log(数组)您还可以使用
对象.entries()

var obj={姓名:“乔奥”,年龄:27岁,国家:“美国”},
elems=Object.entries(obj.map)(v=>v[1]);

控制台日志(elems)
我不能使用Object.values()。
是的,你可以-谢谢@ibrahimmahrir。添加所有解决方案!:P@ibrahimmahrir我希望我能把我收到的这个答案的投票捐赠给你:P-Updated我很高兴能帮你!
const returnValues = (o) => Object.keys(o).map(k => o[k]);
Object.entries(obj).map(([,v]) => v)
console.log(Object.values(obj));