繁体   English   中英

从对象获取值并推入数组javascript

[英]get values from object and push into array javascript

我想从object获取值并将其保存到数组中......这就是我的对象的结构。

0: {name: "John Deo", age: 45, gender: "male"}
1: {name: "Mary Jeo", age: 54, gender: "female"}
2: {name: "Saly Meo", age: 55, gender: "female"}

但我正在寻找这样的东西。

0: ["John Deo", 45, "male"]
1: ["Mary Jeo", 54, "female"]
2: ["Saly Meo", 55, "female"]

这是我被卡住的地方。

for(let i in data){
   _.map(data[i], value =>{
        console.log(value)
    })
}

您可以使用函数Array.prototype.map迭代数据并在每个对象上运行Object.values函数以将其值提取为数组。

 const data = [ {name: "John Deo", age: 45, gender: "male"}, {name: "Mary Jeo", age: 54, gender: "female"}, {name: "Saly Meo", age: 55, gender: "female"} ]; result = data.map(Object.values); console.log(result); 

请注意,以这种方式迭代对象的属性可能会以任意顺序返回,因此如果您需要确保顺序,则应使用自定义函数来提取值(使用ES6解构尤其容易):

 const data = [ {name: "John Deo", age: 45, gender: "male"}, {name: "Mary Jeo", age: 54, gender: "female"}, {name: "Saly Meo", age: 55, gender: "female"} ]; const extractValues = ({name, age, gender}) => [name, age, gender]; result = data.map(extractValues); console.log(result); 

尝试这个:

data.map(obj => Object.values(obj))

另一种选择是使用Object.values()方法。

var obj = {name: "John Deo", age: 45, gender: "male"}; 

console.log(Object.values(obj));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM