javascript - 带有数组的对象

标签 javascript arrays object

我对 Javascript 有点陌生,我正在尝试创建内部带有数组的对象。 在 C 中,我可以使用结构轻松地解决它,但在 Javascript 中我有点迷失了。这是我的代码:

function Switch() {
  var title;
  var toggleModeEnable;
};

function Layer () {
  sw = [8];
  for (j = 0; j < 8; j++) {
      sw[j] = new Switch();
  };
};

var lr = [10];
for (i = 0; i < 10; i++) {
    lr[i] = new Layer();
};

显然,这是行不通的。 我想要实现的是拥有一个包含 10 个元素的数组 (lr)。它们中的每一个都应该是 8 个元素 (sw) 的 ayyay,并且每个元素都有两个属性(title 和toggleModeEnable),并通过如下方式访问它们:

lr[1].sw[3].title

但是这样的事情会引发如下错误:

"Uncaught TypeError: Cannot read property '3' of undefined at :1:9"

我在这里缺少什么?

最佳答案

我相信您正在寻找:

function Switch() {
  this.title = '';
  this.toggleModeEnable = false;
}

function Layer () {
  this.sw = [];
  for (let j = 0; j < 8; j++) {
    this.sw.push(new Switch());
  }
}

const lr = [];
for (let i = 0; i < 10; i++) {
  lr.push(new Layer());
}

关于javascript - 带有数组的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64014126/

相关文章:

javascript - 在 Javascript 中为 Google Adwords 脚本 (ES5) 动态创建嵌套对象属性名称

javascript - 如何将数组添加到数组对象

Javascript 检查位是否已设置

javascript - 如何找到 node.js websocket 消息的连接?

javascript - typescript 中基于两个值的数组迭代

c# - 为什么 Array.Sort 在使用 Array.ForEach 后工作得更快?

javascript - 正则表达式匹配后面没有重复多次的字符的字符

javascript - PHP - HTML5 API 上传损坏

javascript - 如何删除 for 循环中的最后一个逗号?

javascript - 如何通过javascript中的函数返回对象属性