【问题标题】:Unable to convert Javascript object having a 0 key无法转换具有 0 键的 Javascript 对象
【发布时间】:2020-09-24 18:31:17
【问题描述】:

我想转换这个 JavaScript 对象

var y = [{0:{Date:"Sep 24"}}]

到这个[{0:{Date:"Sep 23"}}]

但我不会弄明白。我试着这样做

y[0].0.Date = "Sep 23"

但它没有用。即使我将 0 更改为 Hell 也会起作用

var y = [{Hell:{Date:"Sep 24"}}]
y[0].Hell.Date = "Sep 23"

【问题讨论】:

  • 你可以试试:y[0].['0'].Date = "Sep 23"

标签: javascript arrays dictionary


【解决方案1】:

你需要这样做y[0]['0'].Date = "Sep 23"

解释:

  1. 选择数组的第一个索引 = y[0]
  2. 使用bracket notation = y[0]['0'] 选择所需的密钥
  3. 选择内键 = y[0]['0'].Date
  4. 最后,赋值=y[0]['0'].Date = "Sep 23"

【讨论】:

  • 不需要是['0'],因为默认情况下键是字符串化的
【解决方案2】:

请尝试使用y[0][0] 而不是 y[0].0

【讨论】:

    【解决方案3】:

    如果属性的名称是 Number,您应该像引用 Array 元素一样引用它。

    y[0][0].Date = 'Sep 23';
    

    const obj = {
      1: 'Hello'
      2: 'Goodbye'
    };
    
    console.log(obj.1); // this will return an error

    const obj = {
      1: 'Hello',
      2: 'Goodbye',
    };
    
    console.log(obj[1]); // this will not

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 2022-01-16
      • 1970-01-01
      • 2022-08-18
      • 2018-08-07
      • 1970-01-01
      相关资源
      最近更新 更多