数组常用方法

1.求数组最大值:

    var arr = [ 1,5,1,7,5,9];
    Math.max(...arr)  // 9 

  

    var arr=[22,34,231,54]
    var m=Math.Max.apply(null, arr);  //.apply会把数组里面的参数依次传入进去
    alert(m); 

2.判断是否为数组

  var arr=[];
  Array.isArray(arr);   //返回true

3.添加删除数组

    arr.push() //往数组后面添加新的数据   返回值数组长度
    arr.unshift  //往数组前面添加数据     返回值数组长度
    arr.pop()   //删除数组中的最后一位 (参数可以是第几位)   返回值删除的数据
    arr.shift();//删除数组中的第一位 (无参数)     返回值删除的数据

4.利用下标查找数组

    arr.indexOf(查找数组中的某一项,从第几位开始找);   //返回对应的下标
    arr.lastIndexOf(查找数组中的某一项,从第几位开始找) //从后往前找没找到返回-1;

5.截取数组

    arr.slice(截取的位数,结束的位数);  //返回值是截取出来的数组,不包括结束位  数组本身不变;
    arr.splice(从第几位开始,删除几位,替换的新数据)  //返回值是被删除的元素

6.类数组转换成数组

var s = "History";
Array.from(s)  //["H", "i", "s", "t", "o", "r", "y"]

7.反转数组

arr.reverse()

8.把数组转换成字符串

arr.join()

9.数组连接

    var arr1=[1,2,3]
    var arr2=[4,5,6]
    var arr3=[7,8,9]
    var b=arr1.concat(arr2,arr3);    //[1,2,3,4,5,6,7,8,9]

10.数组指定位置填充数据

    arr.fill(要填充的内容,开始填充的位置,结束的位置)  //用来填充数组;

例:
    var arr=["hao", "11111", "ni", "su", "yi"];
    arr.fill("11111",1,4);  //返回值["hao", "11111", "11111", "11111", "yi"]    

11.检验数组是否都符合指定的条件

var ages = [32, 33, 16, 40];
function checkAdult(age) {   return age >= 18; }
function myFunction() {   document.getElementById("demo").innerHTML =   ages.every(checkAdult); //false }

every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检。
如果所有元素都满足条件,则返回 true。

12.检查数组里面是否有满足指定条件的

var ages = [3, 10, 18, 20];

function checkAdult(age) {
      return age >= 18;
}
        
function myFunction() {
      document.getElementById("demo").innerHTML = ages.some(checkAdult);   //true
}

some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false

13.数组排序

从小到大
arr.sort(function(a,b){
    	return a - b;
}); 
从大到小
arr.sort(function(a,b){
    	return b - a;
}); 
随机排序
arr.sort(function(){
        return 0.5-Math.random();
 })

  

快速排序
    var arr = [5,4,3,2,1,0];
    for(var i = 0; i < arr.length; i++) {
        for(var j = 0; j < arr.length - i; j++) {
		if(arr[j] > arr[j+1]) {
			var temp = arr[j];
			arr[j] = arr[j+1];
			arr[j+1] = temp;
		}
	}
    }

 

14.让数组快速乱序

    var arr = [1,2,3,4,5,6,7,8,9,10];
    arr.sort(function(){
        return Math.random() - 0.5;
    })
    console.log(arr);

  

15.数组求和

var arr=[1,21,22];
eval(arr.join('+'));

  

posted @ 2018-03-02 17:23  Enid0044  阅读(144)  评论(0编辑  收藏  举报