javascript - 将对象转换为数组并省略键

标签 javascript arrays object

我有数据

{
  YHOO: [
    {
      date: Fri Apr 12 1996 00:00:00 GMT-0400 (EDT),
      open: 25.25,
      high: 43,
      low: 24.5,
      close: 33,
      volume: 408720000,
      adjClose: 1.38,
      symbol: 'YHOO'
    },
    ...
    {
      date: Thu Nov 14 2013 00:00:00 GMT-0500 (EST),
      open: 35.07,
      high: 35.89,
      low: 34.76,
      close: 35.69,
      volume: 21368600,
      adjClose: 35.69,
      symbol: 'YHOO'
    }
  ],
  GOOGL: [
    {
      date: Thu Aug 19 2004 00:00:00 GMT-0400 (EDT),
      open: 100,
      high: 104.06,
      low: 95.96,
      close: 100.34,
      volume: 22351900,
      adjClose: 100.34,
      symbol: 'GOOGL'
    },
    ...
    {
      date: Thu Nov 14 2013 00:00:00 GMT-0500 (EST),
      open: 1033.92,
      high: 1039.75,
      low: 1030.35,
      close: 1035.23,
      volume: 1166700,
      adjClose: 1035.23,
      symbol: 'GOOGL'
    }
  ],
  ...
}

如何跳过键,使对象变成这样的对象数组

[
    {
      date: Fri Apr 12 1996 00:00:00 GMT-0400 (EDT),
      open: 25.25,
      high: 43,
      low: 24.5,
      close: 33,
      volume: 408720000,
      adjClose: 1.38,
      symbol: 'YHOO'
    },
    {
      date: Thu Nov 14 2013 00:00:00 GMT-0500 (EST),
      open: 35.07,
      high: 35.89,
      low: 34.76,
      close: 35.69,
      volume: 21368600,
      adjClose: 35.69,
      symbol: 'YHOO'
    },
    {
      date: Thu Aug 19 2004 00:00:00 GMT-0400 (EDT),
      open: 100,
      high: 104.06,
      low: 95.96,
      close: 100.34,
      volume: 22351900,
      adjClose: 100.34,
      symbol: 'GOOGL'
    },
    {
      date: Thu Nov 14 2013 00:00:00 GMT-0500 (EST),
      open: 1033.92,
      high: 1039.75,
      low: 1030.35,
      close: 1035.23,
      volume: 1166700,
      adjClose: 1035.23,
      symbol: 'GOOGL'
    }
]

最佳答案

你可以这样做

var arr = {
  YHOO: [
    {
      date: 'Fri Apr 12 1996 00:00:00 GMT-0400 (EDT)',
      open: 25.25,
      high: 43,
      low: 24.5,
      close: 33,
      volume: 408720000,
      adjClose: 1.38,
      symbol: 'YHOO'
    },
    {
      date: 'Thu Nov 14 2013 00:00:00 GMT-0500 (EST)',
      open: 35.07,
      high: 35.89,
      low: 34.76,
      close: 35.69,
      volume: 21368600,
      adjClose: 35.69,
      symbol: 'YHOO'
    }
  ],
  GOOGL: [
    {
      date: 'Thu Aug 19 2004 00:00:00 GMT-0400 (EDT)',
      open: 100,
      high: 104.06,
      low: 95.96,
      close: 100.34,
      volume: 22351900,
      adjClose: 100.34,
      symbol: 'GOOGL'
    },
    {
      date: 'Thu Nov 14 2013 00:00:00 GMT-0500 (EST)',
      open: 1033.92,
      high: 1039.75,
      low: 1030.35,
      close: 1035.23,
      volume: 1166700,
      adjClose: 1035.23,
      symbol: 'GOOGL'
    }
  ],
};

var newArr = [];

for(var item in arr){
  if(arr.hasOwnProperty(item)){        
    arr[item].forEach(x => newArr.push(x));        
  }
}

console.log(newArr);

4caSTLe 的评论中,你也可以这样做

for(var item in arr){
  if(arr.hasOwnProperty(item)){        
    newArr = newArr.concat(arr[item]);       
 }
}

关于javascript - 将对象转换为数组并省略键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38950286/

相关文章:

javascript - 无需页面刷新即可启用地理定位?

javascript - JSONP Ajax 语法

javascript - vuejs mouseover 添加类到该元素

arrays - 实例成员不能用于数组类型

Javascript如何将参数转换为键?

node.js - NodeJS 无需文件即可构造自定义对象

javascript - 将 JSON 附加到网页请求

PHP Loop MySQL 结果到数组

c++ - 删除数组中的偶数并移动元素

php - 在php中替换数组中的对象