javascript - JavaScript 对象中包含数组的问题

标签 javascript jquery

您能否告诉我是否可以将数组传递到这样的 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/

相关文章:

javascript - 我需要制作一个插件,该插件将让用户选择生效

javascript - Vegas 背景 jQuery 插件-在空的 html5 中

javascript - 调用不同文件中的方法

javascript - jQuery 添加/删除类之间的时间

javascript - 使用 jquery toggle 停止点击次数的增加

javascript - 用从源代码中删除代码代替显示无

javascript - 如何在不自动滚动整个页面的情况下使用 anchor 标记在 div 内滚动?

javascript - 如何在javascript中使用这个多维数组

javascript - 当我想要添加下一张图像时,图像被替换

jquery - 通过 jQuery 获取单选按钮选择的未定义