1. 程式人生 > >數組常用方法

數組常用方法

htm lastindex pos dom dem .get ast 參數 則表達式

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(‘+‘));

  

數組常用方法