我想删除这些号码,但我给我看了一个错误



我想删除这些数字,但我显示了一个错误。

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#filterisNaN一起使用以获取非数字值。

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));

相关内容

最新更新