【问题标题】:Is there a way to use square brackets "[]" in JavaScript object arrays?有没有办法在 JavaScript 对象数组中使用方括号“[]”?
【发布时间】:2018-04-04 18:16:41
【问题描述】:

有没有办法在 JavaScript 对象数组中使用方括号“[]”?我正在尝试制作的密钥中有一个方括号,它会导致触发错误。

例如,我有一个这样的对象数组

    var objectArray ={
        address[address_number] = "text"
    }

方括号有错误,当我尝试运行此代码时失败。

有没有办法在键名中使用括号?

【问题讨论】:

  • 地址是什么?以及您要寻找的最终结果是什么?
  • 不清楚预期的结果是什么。键中有方括号似乎很奇怪,但您可能只需要引号。
  • 语法错误。如果我猜对了,您需要拆分为 var objectArray = { address: []}objectArray.address[address_number] = "text"
  • 你好尼桑特!键中有方括号的原因是页面上的一个元素,其名称属性为 name=address[address_number],我正在尝试将其用作键,因此我可以编写代码来引用它。

标签: javascript arrays object properties key


【解决方案1】:

它不会按照您尝试的方式工作,但您可以通过额外的代码行完成您想要的操作

var objectArray ={
    address: []
};

objectArray.address[address_number] = 'text';

【讨论】:

  • 您好,BShaps,感谢您的回复!似乎 Nina 的响应非常适合这一点,无需第二行代码。只需添加知道的报价!
  • @ErikBoud 我很困惑为什么你会想要由 Nina 的解决方案创建的结果,但如果这就是你想要的,那就太好了!
【解决方案2】:

取决于你想要实现的数据结构。这是一个只有一个键的对象:

var objectArray = { 
    'address[address_number]': 'text'
};

然后像这样访问数据:

console.log(objectArray['address[address_number]']); // Outputs 'text'

而且这更加多维:

var objectArray = { 
    address : {
        address_number : 'text'
    }
};

然后像这样访问数据:

console.log(objectArray.address.address_number); // Outputs 'text'

【讨论】:

  • 谢谢卢西亚诺!使用引号作为密钥有效,我现在可以运行代码。
【解决方案3】:

您可以使用引号作为对象的键。

var object = { 'address[address_number]': "text" };

console.log(object);

【讨论】:

  • 这不会创建数组
  • @BShaps,我不认为,该操作想要获得一个数组。也许只是缺少一个对象的错误术语。
  • 我认为它应该是一个数组,因为变量名称是 objectArray。
  • 我试图用这个来获取一个对象数组。这个解决方案对我来说非常有效。当我在添加引号后返回我的数组时,它现在可以正确触发。
  • @ErikBoud 这不会给你任何东西的数组,它会给你一个属性名为“address[address_number]”的对象,该属性包含值“text”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 2020-07-29
  • 1970-01-01
相关资源
最近更新 更多