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