我想删除这些数字,但我显示了一个错误。
let mix = [1, 2, 3, "E", 4, "l", "z", "e", "r", 5, "o"];
let result = mix.map((a) => {
return a.startsWith(typeof 1) ? a : "";
})
console.log(result);
filter
覆盖数组,并创建一个非数字项的新数组。
let mix = [1, 2, 3, "E", 4, "l", "z", "e", "r", 5, "o"];
let result = mix.filter(a => !Number(a));
console.log(result);
您可以将Array#filter
与isNaN
一起使用以获取非数字值。
let mix = [1, 2, 3, "E", 4, "l", "z", "e", "r", 5, "o"];
let result = mix.filter(isNaN);
console.log(result);
1)您也可以使用typeof
运算符来检查其类型
let mix = [1, 2, 3, "E", 4, "l", "z", "e", "r", 5, "o"];
let result = mix.filter((a) => typeof a !== "number");
console.log(result);
2)您也可以这样做,它之所以有效,是因为当您使用Number
将数字转换为数字时,只有一个数字等于它自己,而类型number
将被强制为NaN
。
let mix = [1, 2, 3, "E", 4, "l", "z", "e", "r", 5, "o"];
let result = mix.filter((a) => a !== Number(a));
console.log(result);
删除";数组中的特定元素使用array.splice()
方法
您还必须反向移动,以免干扰您的指数位置
let mix = [1, 2, 3, "E", 4, "l", "z", "e", "r", 5, "o"];
for (let i = mix.length;i--;) if (!isNaN(mix[i])) mix.splice(i,1)
console.log( JSON.stringify( mix ))
startsWith函数确定字符串是否以指定字符串的字符开头。
所以第一个参数是在这个字符串的开头要搜索的字符。
如果你想删除数组中的所有数字,你可以使用array.filter
filter函数创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
例如:
let mix = [1, 2, 3, "E", 4, "l", "z", "e", "r", 5, "o"];
let result = mix.filter(a => !Number(a));