在JavaScript中将标签应用于多维数组中的对象

在JavaScript中将标签应用于多维数组中的对象,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我有一个多维数组,希望在眼睛颜色前面放置标签,例如“眼睛颜色:棕色”。问题是我不知道如何访问循环中的嵌套数组,以便将标签放置在每个眼睛颜色旁边。我知道如何访问数组中的信息,例如people[0][3][0]=“blue”更改第一个人的眼睛颜色 我为这一混乱道歉。我正在关注本视频教程,9:44的讲师使用for-in-loop为头发和眼睛颜色添加标签。 var people = [ [ "James", 60, "United States", ["brown", "black"] ], [

我有一个多维数组,希望在眼睛颜色前面放置标签,例如“眼睛颜色:棕色”。问题是我不知道如何访问循环中的嵌套数组,以便将标签放置在每个眼睛颜色旁边。我知道如何访问数组中的信息,例如
people[0][3][0]=“blue”
更改第一个人的眼睛颜色


我为这一混乱道歉。我正在关注本视频教程,9:44的讲师使用for-in-loop为头发和眼睛颜色添加标签。

var people = [
  [ "James", 60, "United States", ["brown", "black"] ],
  [ "Patricia", 55, "United States", ["brown", "black"] ],
  [ "Patrice", 22, "United States", ["brown", "black"] ],
  [ "Montrell", 32, "United States", ["brown", "black"] ]
];
//people[0][3][0] = "pink";

// for loop that interates through people array   
for(var i = 0; i < people.length; i++) {
    // writes the Person and number header
     document.write("<h2>Person " + (i+1) + "</h2>");
   // loops through each person and writes their information
   for(var details in people[i]) {
       document.write(people[i][details] + "<br>");
   }
}
var-people=[
[“詹姆斯”,60,“美国”,“棕色”,“黑色”],
[“帕特里夏”,55,“美国”,“棕色”,“黑色”],
[“Patrice”,22,“美国”,“棕色”,“黑色”],
[“蒙特勒”,32,“美国”,“棕色”,“黑色”]
];
//人物[0][3][0]=“粉红”;
//通过人员数组进行交互的for循环
for(var i=0;i”;
}
}

您确实应该使用对象而不是数组,例如

var people = [
  { 
    name : "James", 
    age : 60,
    country: "United States",
    eyeColor: "brown",
    hairColor: "black"
  },
  ...
];
数组是用方括号[]定义的,它只是一个有序列表。对象是用大括号{}定义的,是键值对的字典

var james = people[0];
这将为您提供人物数组中的第一个人。然后获取眼睛颜色:

var color = james.eyeColor;
试试这个

var-people=[
[“詹姆斯”,60,“美国”,“棕色”,“黑色”],
[“帕特里夏”,55,“美国”,“棕色”,“黑色”],
[“Patrice”,22,“美国”,“棕色”,“黑色”],
[“蒙特勒”,32,“美国”,“棕色”,“黑色”]
];
//人物[0][3][0]=“粉红”;
//通过人员数组进行交互的for循环
for(var i=0;i”;
文件。写下(“眼睛颜色是“+人[i][details][1]+”
”; } 否则{ //当前项是字符串或数字类型的名称、年龄或国家/地区 文件。写(人[i][details]+“
”; } }
}
如果要进行转换,请将现有人员数组数据转换为对象:

var people = [
  [ "James", 60, "United States", ["brown", "black"] ],
  [ "Patricia", 55, "United States", ["brown", "black"] ],
  [ "Patrice", 22, "United States", ["brown", "black"] ],
  [ "Montrell", 32, "United States", ["brown", "black"] ]
];

 for (var i = 0; i < people.length;  i++){
    var details = {};
    details.eyeColor = people[i][3][0];
    details.hairColor = people[i][3][1];
    people[i][3] = details;
    people[i].splice(4,1);
}
var-people=[
[“詹姆斯”,60,“美国”,“棕色”,“黑色”],
[“帕特里夏”,55,“美国”,“棕色”,“黑色”],
[“Patrice”,22,“美国”,“棕色”,“黑色”],
[“蒙特勒”,32,“美国”,“棕色”,“黑色”]
];
for(var i=0;i

…不清楚。嵌套数组中有两个值(“棕色”和“黑色”)。那么,哪一种颜色代表眼睛的颜色?第一项(0-索引)??您需要将现有数组转换为对象还是不知道如何使用对象?“人[0][3][0]=“蓝色”;以更改第一人称的眼睛颜色。“我想在每个人的眼睛前面放置一个标签。”colors@user3574939数组不支持标签。如果要标记属性,则必须使用对象而不是数组。请看下面我的答案。我为我的困惑道歉。我正在关注这个视频教程,9:44的讲师使用for-in-loop可以为头发和眼睛颜色添加标签。我为混淆道歉。我正在学习本视频教程,9:44的讲师使用for-in循环为头发和眼睛颜色添加标签。@user3574939更新了我的答案!我提到了一些评论,以使其易于理解。干杯我为这一混乱道歉。我正在关注这个视频教程,讲师在9:44使用for-in-loop为头发和眼睛颜色添加标签。