【问题标题】:React Js look at items in array and check for null [duplicate]React Js查看数组中的项目并检查null [重复]
【发布时间】:2017-12-25 00:47:20
【问题描述】:

我有一个从我的 Web API 获取的数组,我希望能够检查任何空字段,如果它们将它们从空更改为 '',我将如何处理这个

要读取我需要这样做的实际数组

console.log(result.data[0])

这会将 BuildingNumber 返回为 null。我将如何检查每个项目是否为空,就像您在不同的人身上可能有多个空字段一样。

【问题讨论】:

  • 这还不清楚。显示提到的数组并指定您想要的结果。

标签: javascript arrays reactjs jsx


【解决方案1】:

只需使用地图功能arr.map(e => e === null ? '' : e)

【讨论】:

  • 要改进它,您必须检查该值是否为null,否则它也会返回一个空字符串,即 0、未定义和 false。
  • @emattiazzi 你的权利我总是忘记 0,已编辑。
【解决方案2】:

如果您的环境支持 ES6 规范,那么您可以使用 array's map method,它将遍历数组中的每个项目并返回一个新数组。在此过程中,您可以根据需要转换给定元素。例如:

var apiResponse = [1, 2, null, 3];
var fixedArray = apiResponse.map(function(item) {
    if (item === null) {
        item = '';
    }
    return item;
});

fixedArray 将具有以下数组 [1, 2, '', 3]

如果您不使用 ES6,则可以使用通用循环检查每个项目并相应地推送到新数组。

var apiResponse = [1, 2, null, 3];
var fixedArray = [];

apiResponse.forEach(function (item) {
    if (item === null) {
       fixedArray.push('');
    } else {
       fixedArray.push(item);
    }
});

【讨论】:

  • 您的 .map 回调实现是错误的。您必须退货。
  • @emattiazzi 确实!固定。
【解决方案3】:

您想要实现的似乎是:将数组中具有null 值的每个项目更改为空字符串。

这是使用.map的好机会。

var resultWithChangedElements = result.data.map(function(item) {
  return item === null ? '' : item;
})

您可以阅读更多关于它的工作原理:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map

【讨论】:

    猜你喜欢
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 2021-08-07
    • 1970-01-01
    相关资源
    最近更新 更多