首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将此数组转换为JavaScript对象?

如何将此数组转换为JavaScript对象?
EN

Stack Overflow用户
提问于 2016-03-31 17:00:35
回答 5查看 63关注 0票数 0

下面的代码循环遍历JavaScript对象,并仅收集数组属性:

代码语言:javascript
复制
const building = this.building
let panoramaList = []
for (let key in building) {
  const panoramas = building[key]
  if (Array.isArray(panoramas)) {
    panoramaList.push({ [key]: panoramas })
  }
}
console.log(panoramaList)

换句话说,它是这样的:

代码语言:javascript
复制
{
  name: '',
  description: ''.
  livingroom: Array[0],
  study: Array[1],
  bedroom: Array[0]
}

然后把它变成这样:

代码语言:javascript
复制
[
  { livingroom: Array[0] },
  { study: Array[1] },
  { bedroom: Array[0] }
]

然而,我需要生成的是:

代码语言:javascript
复制
{
  livingroom: Array[0],
  study: Array[1],
  bedroom: Array[0]
}

如何做到这一点呢?

EN

回答 5

Stack Overflow用户

发布于 2016-03-31 17:01:58

尝尝这个

代码语言:javascript
复制
var output = Object.keys(building).map(function(val){ return { val : building[val] } });

对于最终的输出

代码语言:javascript
复制
var panoramaList = {}
Object.keys(building).forEach(function(val){ 
  if ( Array.isArray(building[val] )
  {
    panoramaList[val] = building[val];
  }
});
票数 1
EN

Stack Overflow用户

发布于 2016-03-31 17:03:08

更改此设置:

代码语言:javascript
复制
const building = this.building
let panoramaList = []
for (let key in building) {
  const panoramas = building[key]
  if (Array.isArray(panoramas)) {
    panoramaList.push({ [key]: panoramas })
  }
}
console.log(panoramaList)

要这样做:

代码语言:javascript
复制
const building = this.building
let panoramaList = {}
for (let key in building) {
  const panoramas = building[key]
  if (Array.isArray(panoramas)) {
    panoramaList[key]=panoramas
  }
}
console.log(panoramaList)
票数 1
EN

Stack Overflow用户

发布于 2016-03-31 17:05:04

使用Object.keys并尝试如下所示:

代码语言:javascript
复制
var input = {} //...your input array
var keys = Object.keys(input);
var result = {};

keys.forEach(function (key) {
    if (Array.isArray(input[key])) {
        result[key] = input[key];
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36328745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档