Array對象的方法 Array.isArray(對象) >判斷這個對象是不是數組 instanceof關鍵字 判斷對象是不是數組類型:兩種方法: //1 instanceof var obj = []; console.log(obj instanceof Array);//ture //2 使用 ...
Array對象的方法
Array.isArray(對象)---->判斷這個對象是不是數組
instanceof關鍵字
判斷對象是不是數組類型:兩種方法://1 instanceof var obj = []; console.log(obj instanceof Array);//ture //2 使用數組的 console.log(Array.isArray(obj));//ture
.concat(數組,數組,數組,...) 組合一個新的數組
var arr1 = [10, 20, 30]; var arr2 = [40, 50, 60]; console.log(arr1.concat(arr2));
.every(函數)--返回值是布爾類型,函數作為參數使用,函數中有三個參數,第一個參數是元素的值,第二個參數是索引值,第三個參數是原來的數組(沒用)
如果這個數組中的每個元素的值都符合條件,最後才返回的是true
var arr = [1000, 2000, 3000]; //a----: 元素的值 //b----: 索引的值 //c----:誰調用了這個方法,那麼c就是誰---->arr var flag = arr.every(function (a, b) { //console.log(a+"==="+b+"===="+c); return a > 2000;//數組中的每個元素的值都要大於2000的情況,最後才返回true });
var arr = ["小明明lkko", "小曹操674", "小白白bd", "笑眯眯a"]; var flag = arr.every(function (ele, index) { //數組中的每個元素的長度是不是大於4 return ele.length > 4; }); console.log(flag);//false
.filter(函數);返回的是數組中每一個元素都符合條件的元素,組成了一個新的數組
var arr = [10, 20, 30, 40, 50, 60, 70, 80]; var newArr = arr.filter(function (ele) {//ele---每個元素 return ele > 40; }); console.log(newArr);
var arr = [10, 0, 20, 0, 40, 0, 60, 100]; var newArr = arr.filter(function (ele) { return ele != 0; }); console.log(newArr);
.push(值);--->把值追加到數組中,加到最後了---返回值也是追加數據之後的數組長度
var arr = [10, 20, 30, 40, 50]; var result = arr.push(100); console.log(result);// 6 新數組的長度 console.log(arr);//[10, 20, 30, 40, 50, 100]
.pop();--->刪除數組中最後一個元素, 返回值就是刪除的這個值
var arr = [10, 20, 30, 40, 50]; var result = arr.pop(); console.log(result); //50 console.log(arr); //[10, 20,30, 40]
.shift();--->刪除數組中第一個元素, 返回值就是刪除的這個值
var arr = [10, 20, 30, 40, 50]; var result = arr.shift(); console.log(result); //10 console.log(arr);//[20, 30, 40, 50]
.unshift();--->向數組的第一個元素前面插入一個新的元素----返回值是插入後的程度
var arr = [10, 20, 30, 40, 50]; var result = arr.unshift(100);// console.log(result); console.log(arr);
.forEach(函數)方法---遍曆數組用---相當於for迴圈
var arr = [10, 20, 30, 40]; arr.forEach(function (ele, index) { console.log(ele + '======' + index); });
.indexOf(元素值);返回的是索引,沒有則是-1
var arr = [10, 20, 30, 40]; var index = arr.indexOf(300); console.log(index);
.join("字元串");----返回的是一個字元串
var arr = ["小白", "小黑", "小紅", "小芳", "小綠", "小蘇"]; var str = arr.join("|"); console.log(str);
.map(函數);--->數組中的每個元素都要執行這個函數,把執行後的結果重新的全部的放在一個新的數組中
var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); console.log(roots);
.reverse();----->反轉數組
var arr = [10, 20, 30, 40, 50]; arr.reverse();//反轉 console.log(arr);
.sort();---排序的,可能不穩定,如果不穩定,請寫MDN中的那個固定的代碼
var arr = [1, 40, 20, 10, 100]; //a---arr[j] //b---arr[j+1] arr.sort(function (a, b) { if (a > b) { return 1; } else if (a == b) { return 0; } else { return -1; } }); console.log(arr);
.arr.slice(開始的索引,結束的索引);把截取的數組的值放在一個新的數組中,但是不包含結束的索引對應的元素值
var arr = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]; var newArr = arr.slice(3, 7); console.log(newArr);
.splice(開始的位置,要刪除的個數,替換的元素的值);一般是用於刪除數組中的元素,或者是替換元素,或者是插入元素
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; // myFish.splice(2, 0, 'drum'); // 在索引為2的位置插入'drum' // myFish 變為 ["angel", "clown", "drum", "mandarin", "sturgeon"] myFish.splice(2, 1); // 從索引為2的位置刪除一項(也就是'drum'這一項) console.log(myFish); // myFish 變為 ["angel", "clown", "mandarin", "sturgeon"]
加練習1:實例方法:通過實例對象調用的方法--->排序
//原來學的排序方法:
var arr = [30, 48, 92, 50, 84, 72, 50]; for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; }//end if }//end for }//end for console.log(arr);
//對象,對象調用這個方法可以實現排序功能,和數組的sort方法功能一樣
var arr = [30, 48, 92, 50, 84, 72, 50]; function myArray() { //實例方法:通過實例對象調用的方法--->排序 this.mySort = function (arr) { for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } //end if } //end for } //end for }; } //創建對象 var myArray = new myArray(); myArray.mySort(arr); console.log(arr);
//數組sort方法排序
var arr = [30, 48, 92, 50, 84, 72, 50]; //a---arr[j] //b---arr[j+1] arr.sort(function (a, b) { if (a > b) { return 1; } else if (a == b) { return 0; } else { return -1; } }); console.log(arr);
練習2:清空數組
var arr = [10, 20, 30, 40, 50]; console.log(arr); console.log(arr.length); arr.length = 0; console.log(arr);
練習3: 毫秒轉日期
var dt = new Date(); console.log(dt.valueOf()); var dt2 = new Date(dt.valueOf());//毫秒數轉Date對象 console.log(dt2);