从一个也有非数组元素的数组中删除数组元素,可以使用以下方法:
Array.isArray()
方法来判断一个元素是否为数组类型。Array.splice()
方法来删除数组中的元素。以下是一个示例代码,演示如何从一个也有非数组元素的数组中删除数组元素:
function removeArrayElements(arr) {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
removeArrayElements(arr[i]);
} else {
arr.splice(i, 1);
i--; // 由于删除了一个元素,需要将索引减1,以便继续遍历下一个元素
}
}
}
const array = [1, [2, 3], 4, [5, 6], 7];
removeArrayElements(array);
console.log(array); // 输出:[1, 4, 7]
在这个示例中,我们定义了一个removeArrayElements
函数,它接受一个数组作为参数。函数内部使用循环遍历数组的每个元素,如果元素是数组类型,则递归调用removeArrayElements
函数继续遍历该数组。如果元素不是数组类型,则使用Array.splice()
方法将其从原数组中删除。最后,我们调用removeArrayElements
函数,并输出结果。
这个方法可以递归地删除数组中的所有数组元素,最终得到一个只包含非数组元素的新数组。
领取专属 10元无门槛券
手把手带您无忧上云