循环遍历对象属性,其中一个是数组(JS)

时间:2017-02-03 22:03:01

标签: javascript arrays object

我刚刚开始使用JavaScript,我希望在需要执行的循环上提供一些帮助。我已经阅读了很多代码片段,这对我来说似乎仍然很陌生,我希望得到一些指导。

对象(car)有五个属性,其中一个是数组。我需要遍历对象并打印每个值。有什么好的,简单的方法 - 使用单个循环还是嵌套循环?我尝试过使用计数器并将该值用作属性和数组的索引号,但尚未成功。我再次对此非常陌生,因此我无法将我的例子与我读过的例子联系起来。

    var options = ["hard top", "power windows", "racing stripe", "fog 
    lights"];

    var car = {color: "red", make:"Chevrolet", model:"Camaro",  
    year:"1967", options};

    //I need a loop where with each iteration a property value of the  
    //car and an option is printed

    document.write(SOMETHING);

2 个答案:

答案 0 :(得分:0)

Object.keys(car).forEach(function(key, idx) {
  if (key !== options) {
    console.log(car[key];
    console.log(car.options[idx]);
  }
}

这将在每次迭代时打印出汽车的属性以及我认为需要的其中一个汽车选项。

Object.keys(car)为您提供汽车属性的数组,然后迭代每个属性。在这种情况下,想要在每个循环上使用属性和选项会更复杂。

答案 1 :(得分:0)

这会遍历您key个对象的每个color(例如makecar等),并打印key和{ {1}}。

value

将输出以下内容:

Object.keys(car).forEach(key => {
  console.log(key, car[key]);
});