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);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/166516.html
標籤:JavaScript
下一篇:JS基礎語法---基本包裝型別
