Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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_Loops_Typescript - Fatal编程技术网

Javascript 创建一个在其他对象上迭代的对象

Javascript 创建一个在其他对象上迭代的对象,javascript,loops,typescript,Javascript,Loops,Typescript,我想删除和对象的空键,并尝试以这种方式执行此操作 object = { item1: null, item2: 'hi', item3: null, item4: 'bye', item5: null }; let params = {}; for (let param in this.object) { if (this.object[param]) params.param = this.object[param]; } conso

我想删除和对象的空键,并尝试以这种方式执行此操作

object = {
    item1: null,
    item2: 'hi',
    item3: null,
    item4: 'bye',
    item5: null
  };

let params = {};
for (let param in this.object) {
  if (this.object[param])
    params.param = this.object[param];
}

console.log(params);
我期望:params={ 第2项:“嗨”, 第四项:“再见”, }

但我有:params={ 参数:“再见”, }

我怎样才能做到呢


谢谢

每次在
params
对象上设置
param
键时,请尝试以下操作:

params[param] = this.object[param] 
因此,您的循环将如下所示:

let params = {};
for (let param in this.object) {
  if (this.object[param]) param[param] = this.object[param];
}

params.param=this.object[param]-每次都覆盖相同的密钥。将其更改为
params[param]=this.object[param]
为什么要对此进行否决?这就是我要问自己的。。。为什么要投否决票:-(