数组检测方法、数组排序

数组检测方法

<script>
/*
数组检测方法
every() 检测数组中所有的元素是否满足条件,如果都满足则返回true否则返回false
使用方式
    arr1.every(function(ele){
        return 判断条件
    })
    ele 是每一次循环时候的数组元素,当判断条件都为true的时候
    every() 方法返回true
*/
let arr1=[3,6,9,12,11];
let bol =arr1.every(function(aa){
    console.log(aa);
    return aa%3==0;
});
console.log( bol );

let bol2=arr1.every(function(ele){
    return ele>0; 
});
console.log(bol2);
/*
some()
检测数组中所有的元素是否满足条件,如果都不满足则返回false否则返回true,即是只要有一个满足条件的元素,就返回true,用法和 every一致
*/
let arr2=[ 2,4,6,8,10 ];

let bol3=arr2.some(function(ele){
    return ele%15==0
})
console.log(bol3);

/*
filter() 过滤,把满足条件的数组元素分离到一个新的数组中,原数组不变
map() 数组映射,可以给数组的所有元素进行统一操作,返回的是统一操作之后的数组
*/
let arr3=[1,2,3,4,5,6,7];
// 把 arr3中的偶数 提取到 arr4中
let arr4=arr3.filter(function(ele){
    return ele%2==0;
})
console.log(arr4);

let arr5=arr3.map(function(ele){
    return ele+'px';
})
console.log(arr5);

let arr6=arr3.map(function(ele){
    return ele*2;
})
console.log(arr6);
</script>

数组排序

<script>
/*
使用 sort()方法,对数组进行排序
该方法改变的是原数组
sort 默认把 number类型转化为string类型,然后根据每字符串的字符编码比较大小

字符串大小的比较原则
几个字符串比较大小,会依次比较每一位置上的字符编码大小,直到比较出大小之后,就不在比较,后面的字符直接省略

字符编码排序规则
数字 0-9  依次变大
A-Z,a-z 依次变大
A<a
*/
let arr1=[1,4,6,3,2,10];
arr1.sort();
console.log(arr1);

let arr2=['e','ab','ac','b'];
arr2.sort();
console.log( arr2 );

let arr3=['刘备','关羽','张飞','曹操'];
arr3.sort();
console.log( arr3 );
/*
一般的,在进行排序的时候,会给sort()传入一个参数,该参数是一个函数,在函数中设置排序规则,该函数必须有返回值

函数的返回值
return 参数1 - 参数2; 从小到大排序
return 参数2 - 参数1; 从大到小排序

规则:
当返回一个正数,就会交换两者的位置
当返回一个负数,不会交换两者的位置
当返回一个0,会认为这两个数字相等,也不会交换位置
*/
let arr4=[223,23,465,165,3,26,666,999];
arr4.sort(function(a,b){
    return a-b; // 从小到大
})
console.log( arr4 );
// 数组打乱 
let arr5 = ["张格","王冰洁","赵晓云","夏梦雨","龚冬燕","张点","随悦","张玲云","杨凯利","马珍珍","崔新芳","崔萌斐","赵紫薇","谢雨婷"];

arr5.sort(function(){
    return Math.random()-0.5;
});
console.log( arr5 );
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值