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));