【问题标题】:Change all null to '' in array of Objects (javascript)将对象数组中的所有 null 更改为 '' (javascript)
【发布时间】:2016-09-07 16:03:07
【问题描述】:

我有如下所示的对象数组

Object {Results:Array[3]}
    Results:Array[3]
        [0-2]
             0:Object
                    id=null     
                    name: "Rick"
                    Value: "34343"
             1:Object
                    id=2     
                    name: null
                    Value: "2332"
             2:Object
                    id=2     
                    name:'mike'
                    Value: null

如您所见,在 1 个对象中,我的 id 为 null,第 2 个对象的名称为 null,第 3 个对象的值为 null。每个对象都有一些属性为空。

我想遍历所有这些并将 null 替换为 ''。有人可以告诉我如何实现这一目标...

【问题讨论】:

  • 你知道物业名称吗?
  • 是的。这 3 个属性。 id、名称和值。
  • 那么,有什么问题呢? forEach 和 3 if 在里面。
  • 您可以通过循环遍历所有元素并将 null 替换为 '' 来实现。

标签: javascript arrays loops object underscore.js


【解决方案1】:

这里有一些快速:

var results = [{
    id: null,
    name: "Rick",
    Value: "34343"
}, {
    id: 2,
    name: null,
    Value: "2332"
}, {
    id: 2,
    name: 'mike',
    Value: null
}];

results.forEach(function(object){
    for(key in object) {
        if(object[key] == null)
            object[key] = '';
    }
});

console.log(JSON.stringify(results, null, 2))

【讨论】:

    【解决方案2】:

    您只需要通过 Google 循环遍历对象。这是一个例子:

    循环遍历每个键(如果您的键未知或者您想对所有键执行相同操作)

    for (const obj of arr) {
      if (typeof obj !=== 'object') continue;
      for (k in obj) {
        if (!obj.hasOwnProperty(k)) continue;
        v = obj[k];
        if (v === null || v === undefined) {
          obj[k] = '';
        }
      }
    }
    

    如果您的密钥已知:

    for (const obj of arr) {
      if (obj.name === undefined || obj.name === null) {
        obj.name = '';
      }
    }
    

    【讨论】:

      【解决方案3】:

      您可以遍历数组的元素和键,并在必要时分配所需的字符串。

      var data = { Results: [{ id: null, name: "Rick", Value: "34343" }, { id: 2, name: null, Value: "2332" }, { id: 2, name: 'mike', Value: null }] };
      
      data.Results.forEach(function (o) {
          Object.keys(o).forEach(function (k) {
              if (o[k] === null) {
                  o[k] = '';
              }
          });
      });
      
      console.log(data);
      .as-console-wrapper { max-height: 100% !important; top: 0; }

      【讨论】:

        【解决方案4】:

        您可以查看您的数组和所有键,如果属性包含 null 将其替换为空字符串,例如:

        var arr = [
          { id=null name: "Rick" Value: "34343" },
          { id=2 name: null Value: "2332" },
          { id=2 name:'mike' Value: null }
        ];
        
        arr.forEach(function(o) {
            Object.keys(o).forEach(function(key) {
              id (o[key] === null) {
                o[key] = '';
              }
            });
        });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-12
          • 1970-01-01
          • 2021-12-29
          • 1970-01-01
          相关资源
          最近更新 更多