您能否告诉我是否可以将数组传递到这样的 JavaScript 对象中?
var content = {
item1: "John",
item2: "Doe",
item3: { "item3_1", "item3_2", "item3_3" }
}
console.log(content);
您能否告诉我如何访问或更新这些项目,或者如果不能,您能否告诉我如何创建数据格式(例如数组的数组)来存储这些数据?
最佳答案
在 JavaScript 对象上定义数组的语法如下所示:
var content = {
item1: "John",
item2: "Doe",
item3: ["item3_1", "item3_2", "item3_3"]
};
您并不是将数组“传递”到对象中,您只是将其中一个属性定义为数组。其中的任何嵌套数据都将采用与对象或另一个数组相同的形式:
var foo = {
arr: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
};
要记住的重要一点是,使用“{}”表示对象语法,使用“[]”表示数组语法。您还可以在该数组中包含对象:
var bar = {
obj_arr: [
{
name: "Tim",
age: 14,
},
{
name: "Bob",
age: 36
},
{
name: "Sue",
age: 73
}
]
};
要从数组属性访问单个元素之一,请使用以下语法:
content.item3[0] for "item3_1"
content.item3[1] for "item3_2"
或者,或者:
content["item3"][0] for "item3_1"
content["item3"][1] for "item3_2"
尽管当提前知道属性名称时,这种语法不太常见。要循环访问该数组中的项目,您可以使用 for 循环:
for (var i = 0, l = content.item3.length; i < l; i += 1) {
console.log(content.item3[i]);
}
这就是 console.log 输出项目的方式 - 如果您想对它们执行其他操作,则需要用该操作替换 console.log 调用。
这是一个更新的 fiddle ,我相信您正在寻找它:http://jsfiddle.net/qobo98yr/5/
这是将内容对象中的所有内容打印到控制台的代码:
var outputString = "";
for (var prop in content) {
outputString += (content[prop] + " ");
}
console.log(outputString);
关于javascript - JavaScript 对象中包含数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29223919/