如何用字符串替换数组中的空值

时间:2019-06-21 04:52:52

标签: javascript reactjs

我有一个数组,在其中需要用字符串NAN替换所有空值或空白值。数组基本上就是组件的状态。

状态数组如下:

[{..}]
0:
company: Array(3)
0: {comp_id: Array(1)} //this value is null 
1: {comp_name: Array(1)}
2: {comp_country: Array(1)}

它是使用以下代码形成的:

  const output = data.filters.reduce((final, s) => {
          const values = Object.keys(s).reduce((out, o) => {

            out[o] = s[o].map(k => Object.values(k)[0]);
              return out;
          }, {});
          final = { ...final, ...values };
          return final;
        }, {});

变量输出的JSON字符串如下:

"filters":{"company":[[null],["d"],["c"]]}}

因此,在将其转换为JSON格式之前,我需要将空值替换为字符串NAN。 这该怎么做?有人可以帮忙吗

1 个答案:

答案 0 :(得分:1)

使用 Array.prototype.map()

const data = {
  "filters": {
    "company": [
      [null],
      ["d"],
      ["c"]
    ]
  }
}

const output = data.filters.company.map(arr =>
  arr.map(ele => ele === null ? 'NAN': ele)
);

console.log(output)

使用 JSON.parse()

const data = '{"filters":{"company":[[null],["d"],["c"]]}}'

const output = JSON.parse(data, (key, value) => value === null ? 'NAN' : value)

console.log(output)