在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为头发和眼睛颜色添加标签。