Javascript 过滤器列表函数数组java脚本

Javascript 过滤器列表函数数组java脚本,javascript,filter,Javascript,Filter,我在下面有一个数组,我尝试只过滤数字,但是当我使用它时,我仍然得到字符串 功能过滤器列表(l){ arrs=[] 对于(变量i=0;i{ 返回项目的类型=='number'; }); 返回arrs }您的第一次尝试是正确的,但是if语句后面不应该有分号。试试这个: 功能过滤器列表(l){ arrs=[] 对于(变量i=0;i

我在下面有一个数组,我尝试只过滤数字,但是当我使用它时,我仍然得到字符串

功能过滤器列表(l){
arrs=[]
对于(变量i=0;i)
您还可以使用for/of循环来获取每个元素的值

var-arr=[1,2,a,b,3,4];
var out=[];
对于(让el代表arr){
el的类型=='number'?向外推送(el):0;
}

控制台。注销您需要使用'typeof'和'filter'。在检查索引时得到0

console.log(过滤器列表([1,2,'a','b']))
log(过滤器列表([1,'a','b',0,15]))
log(过滤器列表([1,2,'aasf','1','123',123]))
函数过滤器列表(l){
arrs=l.过滤器(项目=>{
返回项目的类型=='number';
});
返回arrs

}
您的第一次尝试是正确的,但是if语句后面不应该有分号。试试这个:

功能过滤器列表(l){
arrs=[]
对于(变量i=0;iconsole.log(JSON.stringify(filter_list([1,2,'aasf','1','123','123])==='[1,2123]'))
你想要什么?通过查看您的第一个代码片段,我认为您得到了所需的输出您正在比较
I
compare
l[I]
I只是迭代器,设置为for循环。因此,您只有从0到长度-1的数字。
i
是索引,它从
0
到您提供的数组长度。所以它们总是数字。虽然写为
l[i]
,但您指的是数组
l
的第
i
个元素,而不是索引
i
本身。if条件的分色(;)结尾是原因。分号结束语句,然后下一行所有i的值被推送到arrs。谢谢!去掉分号修复了它,它结束了它的历史。其他方法也很好理解。我为你感到高兴!祝你好运