javascript - 在 JS 上迭代带有空格的数组时出现问题
问题描述
对不起我的英语。
我是 Javascript 新手,我正在尝试清理数组。例如:
Input:
-Hello world!
-
-123
-
-abc
Output:
-Hello world!
-123
-abc
实际上,如果我尝试使用array.forEach(item => {console.log(item);}
它。
但是当我做类似的事情时:
if(item === "" || item === undefined || item === null){
array.forEach(function(value, index){
array.splice(index, 1);
} }
或者试图给这个空元素一个值,控制台会抛出一个错误,比如“无法读取未定义的属性‘数组’”
我怎样才能解决这个问题?
我希望你能帮助我,提前谢谢!
解决方案
使用filter
方法
const data = ["", undefined, 2, "abc", null];
// Method 1 filter method
const res = data.filter((x) => x);
// Alternatively
const res2 = data.filter(Boolean);
console.log(res);
console.log(res2);
推荐阅读
- node.js - 关于微服务架构的问题
- reactjs - 如何在 Bloomreach 的 Perspective 中使用 React 应用程序?
- sql - Hive:内部连接从“table b”更新“table a”,其中“table b”中的值与“table a”不同?创建最后一个视图 (a+b)
- excel - 有没有办法使用 VBA 在 Excel 中执行多项检查
- javascript - getAttribute(value) 在本地运行代码时即使值存在也返回 null
- r - ggplot2 - 删除面板顶部边框
- android - Index 1 out of range [0..1)
- azure - 如何将两个不同的 Web 应用程序部署到具有不同自定义域的单个 Azure 应用程序服务?
- php - 在php中重置获取
- reactjs - 在 useDrop:hover(props,monitor,components) 钩子上未定义组件参数