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

你可能感兴趣的