JavaScript 从数组中删除空元素
很多时候数组中会有空元素。在本文中,我们将看到从数组中删除空元素的方法。为了从数组中删除空元素,以下是一些常见的方法:
- 使用array.filter()方法
- 使用array.reduce()方法
- 使用for循环
方法1:使用array.filter()方法
该函数从给定的数组中创建一个新数组,其中包含满足参数函数条件的元素。
array.filter( function(cValue, index, arr), tValue )
示例: 此示例从数组中移除 未定义、空值和空元素 。
let array = ["GFG_1", "GFG_2", null, "GFG_3",
"", "GFG_4", undefined, "GFG_5", , , , , ,
"GFG_6", , 4, , 5, , 6, , , ,];
console.log("original array: " + array)
function myGeeks() {
let filtered = array.filter(function (el) {
return el != null;
});
console.log(filtered);
}
myGeeks()
输出
original array: GFG_1,GFG_2,,GFG_3,,GFG_4,,GFG_5,,,,,,GFG_6,,4,,5,,6,,,
[
'GFG_1', 'GFG_2',
'GFG_3', '',
'GFG_4', 'GFG_5',
'GFG_6', 4,
5, 6
]
方法2:使用 array.reduce() 方法
在这种方法中,我们将使用 reduce() 方法。使用 reduce 方法遍历数组并检查假值,然后通过使用 if 条件将其从数组中移除。
示例:
let array = ["GFG_1", "GFG_2", null, "GFG_3",
"", "GFG_4", undefined, "GFG_5",
, , , , , "GFG_6", , 4, , 5, , 6, , , ,];
console.log("original array: " + array)
function myGeeks() {
let filtered = array.reduce((acc, i) => i ? [...acc, i] : acc, []);
console.log("new array: " + filtered)
}
myGeeks()
输出
original array: GFG_1,GFG_2,,GFG_3,,GFG_4,,GFG_5,,,,,,GFG_6,,4,,5,,6,,,
new array: GFG_1,GFG_2,GFG_3,GFG_4,GFG_5,GFG_6,4,5,6
方法3:使用 for 循环
在这种方法中,我们将检查元素是否存在,如果存在则将其推送到新数组中。
示例: 在这个示例中,我们使用了上述解释的方法。
const arr = ["GFG_1", "GFG_2", null, "GFG_3",
"", "GFG_4", undefined, "GFG_5", , , , , ,
"GFG_6", , 4, , 5, , 6, , , ,];
// make a new array
// to hold non-empty values
const result = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i]) {
result.push(arr[i]);
}
}
console.log(result);
输出
[
'GFG_1', 'GFG_2',
'GFG_3', 'GFG_4',
'GFG_5', 'GFG_6',
4, 5,
6
]
极客教程