【问题标题】:get values from object and push into array javascript从对象获取值并推入数组javascript
【发布时间】:2019-03-31 18:18:40
【问题描述】:

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

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

【问题讨论】:

    标签: javascript arrays json object ecmascript-6


    【解决方案1】:

    您可以使用函数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);

    请注意,以这种方式迭代对象的属性可能会返回arbitrary order,因此如果您需要确保顺序,您应该使用自定义函数来提取值(使用 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);

    【讨论】:

    • 谢谢!你不知道我花了多长时间。它现在正在工作。
    【解决方案2】:

    试试这个:

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

    【讨论】:

      【解决方案3】:

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

      var obj = {name: "John Deo", age: 45, gender: "male"}; 
      
      console.log(Object.values(obj));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-08
        • 1970-01-01
        • 1970-01-01
        • 2018-11-08
        • 2015-10-19
        • 2011-02-13
        • 1970-01-01
        • 2019-06-21
        相关资源
        最近更新 更多