从嵌套字典中删除NA(JavaScript)

时间:2020-06-18 00:36:05

标签: javascript jquery arrays dictionary

我有一本称为“试用版”的嵌套词典。在其中,有一些名为“数据”的键,其中包含svg字符串列表,而有“度量”的键中包含一个整数列表。

当前,如果测量值小于50,则将相应的数据设置为“ NA”。但是,我希望将其从列表中完全删除,而不是将其设置为NA。有人咨询吗?

非常感谢!

    // extract trial data
    trial.data = _.map(trial.data, 'svg');

    // extract trial measurements
    trial.measurements = _.map(trial.measures, function(n, i) {
        return n['measurements']
    });

    // if a measurement is less than 50 inches, then set the data to 'NA'
    $.each(trial.measurements, function(n,len) {
      if (len < 50) {
        trial.data[n] = 'NA'; 
      }
    });

1 个答案:

答案 0 :(得分:0)

您是否考虑过delete

delete trial.data[n];

或者您可以使用filter

const trial = {
  measures: Array.from({ length: 10 }, () => ({ measurement: Math.random() * 100 }))
}


document.getElementById('original').innerHTML = JSON.stringify(trial, null, 2);

const filtered = trial.measures.filter(x => x.measurement >= 50);

document.getElementById('filtered').innerHTML = JSON.stringify(filtered, null, 2);
div {
  display: flex
}

div > * {
  flex: 0 0 50%;
}

#original::before {
  display: block;
  margin-bottom: 1em;
  font-weight: bold;
  content: 'original'
}

#filtered::before {
  display: block;
  margin-bottom: 1em;
  font-weight: bold;
  content: 'filtered'
}
<div>
  <pre id="original"></pre>
  <pre id="filtered"></pre>
</div>