js|js 之filter和sort方法 练习

【js|js 之filter和sort方法 练习】练习代码:

//js 中的filter用于把数组的某些元素过滤掉,然后返回剩下的元素var arr1=[1,2,3,4,5,6,7,8,9,10]; var arr11=arr1.filter(x=>{ return x%2==0; }); console.log(arr11); //去掉数组中为空的元素 var arr2=['zhaotong','',null,null, undefined, 'C', '']; var arr22=arr2.filter(x=>{ return x&&x.trim(); }); console.log(arr22); //[ 'zhaotong1', 'zhaotong2', 'zhaotong3' ]//filter()接收的回调函数,其实可以有多个参数。 //通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的位置和数组本身:var arr3=['zhaotong1','zhaotong2','zhaotong3']; var arr33=arr3.filter((value,index,array)=>{ console.log(value); console.log(index); console.log(array); }); //利用filter筛选出100以内的素数 var arr4=new Array(); for(var i=0; i<100; i++){ arr4.push(i); }var arr44=arr4.filter((value,index,array)=>{ for(var i=2; i y,则返回1, //这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序。var arr5=['C','B','A','CC','a','c']; var arr55=arr5.sort(); var arr6=[2,12,4,5,8,11,1]; var arr66=arr6.sort(); // 这是因为Array的sort()方法默认把所有元素先转换为String再排序。 console.log(arr55); // [ 'A', 'B', 'C', 'CC', 'a', 'c' ] console.log(arr66); // [ 1, 11, 12, 2, 4, 5, 8 ]//对数组按照从小到大排序 var arr7=[112,12,45,6,612,21,23,6]; var arr77=arr7.sort((x,y)=>{ if(x{ if(x{ var a=x.toUpperCase(); var b=y.toUpperCase(); if(xy){ return 1; } return 0; }); console.log(arr888); //sort()方法会直接对Array进行修改,它返回的结果仍是当前Array:var arr9=['A','B','D','C']; var arr99=arr9.sort(); console.log(arr99==arr9); // true

    推荐阅读