Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用键变量更新对象数组_Javascript - Fatal编程技术网

Javascript 使用键变量更新对象数组

Javascript 使用键变量更新对象数组,javascript,Javascript,我有一个对象数组,我试图根据对象的一个键更新数组中的值 我很难将密钥存储为变量 在本例中,对象看起来是这样的 如果我要将我的对象键存储为一个变量,它会失败,只会添加新元素 let keyDataField = 'AUDCASH'; for (let i = this.CellRow + 1; i < this.cash2.length; i ++) { this.cash2[i].keyDataField = 0; }; let keyDat

我有一个对象数组,我试图根据对象的一个键更新数组中的值

我很难将密钥存储为变量

在本例中,对象看起来是这样的

如果我要将我的对象键存储为一个变量,它会失败,只会添加新元素

    let keyDataField = 'AUDCASH';
    for (let i = this.CellRow + 1; i < this.cash2.length; i ++)
    {
      this.cash2[i].keyDataField = 0;
    };
let keyDataField='AUDCASH';
for(设i=this.CellRow+1;i
如果它是硬编码的,它就可以工作

    for (let i = this.CellRow + 1; i < this.cash2.length; i++) {
      this.cash2[i].AUDCASH = 0;
    };
for(让i=this.CellRow+1;i

您知道如何传递变量吗?

它需要在
[]

let keyDataField = 'AUDCASH';
for (let i = this.CellRow + 1; i < this.cash2.length; i ++)
{
  this.cash2[i][keyDataField] = 0;
};
let keyDataField='AUDCASH';
for(设i=this.CellRow+1;i

看看当你使用变量i时,你不能只做cash2。i,你想用作键的任何其他变量也一样。它目前正在寻找一个名为
keyDataField
的键,而不是
keyDataField
变量中的键,因为

let keyDataField = 'AUDCASH';
for (let i = this.CellRow + 1; i < this.cash2.length; i ++)
{
  this.cash2[i].keyDataField = 0;
};

只需使用[]来定义键。替换此.cash2[i].keyDataField=0;其中.cash2[i][keyDataField]=0;
this.cash2[i][keyDataField] = 0;