遍历对象的对象以创建数组

时间:2019-05-23 15:23:20

标签: javascript object vue.js

我有一个Object,其中包含要迭代的更多objects。结构是这样的:

Objects in Objects

最终,我想创建一个array,其中父对象key指向子对象的标题列中的value ,因此我可以稍后发布到一些PHP脚本,即:

BusinessJustification => 'titleValue'
Contract => 'titleValue'
...

但是我真的很难真正遍历整个数组。

我尝试了以下两种方法,尽管我可以遍历父对象,但似乎很难访问子对象中的值,它们只是显示为索引位置,即undefined分别。

for (var fields in this.postData) {
    for (var columns in fields){
        console.log(columns['title']);
    }
}

for (var fields in this.postData) {
    for (var columns in fields){
        console.log(Object.entries(columns['title']));
    }
}

任何帮助将不胜感激,因为我确实挠头,并且在网上尝试了一些尝试。

1 个答案:

答案 0 :(得分:1)

  

我最终想要创建一个array,其中父对象的key指向子对象的标题栏中的value

您无法像在array中那样在Javascript中生成具有这些属性的PHP PHP中的数组实际上是有序的{{ 1}}。 map是将mapvalues 关联的类型。但是您可以创建keys ObjectMap。但是,我相信第一个选项是将数据发送到某些服务器端Javascript脚本时所需的选项。

我相信您正在搜索:

PHP
const postData = {
    BusinessJustification: {blur: true, title: "business-title", valid: true},
    Contact: {blur: true, title: "contact-title", valid: true},
    Department: {blur: true, title: "department-title", valid: true},
}

let newObj = {};

for (const field in postData)
{
  newObj[field] = postData[field].title;
}

console.log(newObj);