在 JS 上迭代带有空格的数组时出现问题
Problem iterating an array with empty spaces on 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);
} }
或者试图给这个空元素一个值,控制台抛出一个错误,比如“无法读取未定义的 属性 'array'”
我该如何解决这个问题?
希望你能帮助我,在此先感谢!
使用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);
对不起我的英语。
我是 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);
} }
或者试图给这个空元素一个值,控制台抛出一个错误,比如“无法读取未定义的 属性 'array'”
我该如何解决这个问题?
希望你能帮助我,在此先感谢!
使用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);