【问题标题】:How do i use the value of variable X我如何使用变量 X 的值
【发布时间】:2026-01-16 04:10:02
【问题描述】:
docRef.update({

            sequencenumber: {
                x: false
              }

         })

在这种情况下考虑值

x=3

我希望字段值为

3:假

但在我的数据库中,字段值为

x:假

【问题讨论】:

  • 你的意思是sequencenumber[x]=false还是ES6:[x]:false

标签: javascript arrays database firebase google-cloud-firestore


【解决方案1】:

将我的评论转换为答案:

  1. 使用 ES2015+ Computed property names: [x]:false

  2. 使用括号表示法: obj.sequencenumber[x]=false;

var x = 3

// ES2015+: 
obj = {
  sequencenumber: {
    [x]: false // 
  }
}
console.log(obj)


// previous versions:

var obj = {
  sequencenumber: {}
}
obj.sequencenumber[x] = false; // bracket notation
console.log(obj)

// To read it:

console.log(obj.sequencenumber[3]) 
// or 
console.log(obj.sequencenumber[x]) 

【讨论】:

    【解决方案2】:

    您可以对对象使用 javascript 的括号表示法,但是您必须先初始化数据对象sequencenumber,然后才能对其进行编辑。见下文:

    sequencenumber = {};
    sequencenumber[x] = true;
    docRef.update(sequencenumber);
    

    【讨论】:

      【解决方案3】:

      在 ES6 中使用 [variable]

      var x=3;
      var a = {
        sequencenumber: {
          [x]: false
        }
      }
      
      console.log(a)

      【讨论】:

      • 不要这样doc.get(sequencenumber[x]);。否则它不工作给我看工作小提琴
      • 更新的小提琴:我不知道doc.get的确切结果是什么。试试这个小提琴jsfiddle.net/prasanth1036/3ne5ogc2/6
      • 或许doc.get().sequencenumber[x] == true