如何在JavaScript中使用For-Each循环来创建一个对象,它的键和值是动态提供的

How to use For-Each loop in JavaScript to make an object, whose Keys and values are dynamically provided?

本文关键字:一个对象 键和值 动态 创建 JavaScript 循环 For-Each      更新时间:2023-09-26

如何以以下形式创建一个JavaScript对象,其中Car make和Model Names由其他变量提供。

{  
   "Sedan":{  
      "Jaguar":[  
         "XF",
         "XJ"
      ],
      "AUDI":[  
         "A6",
         "A4"
      ]
   }
}

对象应该使用以下变量形成:

var type="sedan"(轿车类型的对象)
var是=("捷豹"、"奥迪");(该数组中所有轿车类型的品牌)
var modelList =[{"制造":"捷豹"、"模型":["XF"、"XJ"]},{"制造":"奥迪"、"模型":"A6"、"A4"}](所有特定的模型使)

试试下面的代码。我使用了forEach方法进行迭代。forEach()方法对每个数组元素执行一次提供的函数。您可以使用任何迭代技术,如for, while等。相反。

var type = "sedan";
var makes = ["Jaguar", "AUDI"];
var modelList = [{
    "make": "Jaguar",
    "models": ["XF", "XJ"]
}, {
    "make": "AUDI",
    "models": ["A6", "A4"]
}];
var object = {};
object[type] = {}; //object becomes { "sedan": {} }
makes.forEach(function(make) {
    object[type][make] = []; //In 1st iteration object becomes { "sedan": { "Jaguar": [] }}
    modelList.forEach(function(model) {
        if (model.make == make) {
            object[type][make] = model.models; //In 1st iteration object becomes { "sedan": { "Jaguar": ["XF","XJ"] }} 
        }
    });
});
alert(JSON.stringify(object));

给定对象:

var object = {  
"Sedan":{  
  "Jaguar":[  
     "XF",
     "XJ"
  ],
  "AUDI":[  
     "A6",
     "A4"
  ]
}
}

您可以使用以下命令将其设置为JSON字符串:

var json = JSON.stringify( object );