JavaScript中Array類型中的方法

Array類型

檢測數組

檢測數組有如下幾種方法,前端

  • instanceof
var arr=['前端','保定','就業'];
console.log(arr instanceof Array);//true
  • Object.prototype.toString.call()方法
var arr=['前端','保定','就業'];
console.log(Object.prototype.toString.call(arr));//[object Array]
  • Array.prototype.isPrototypeOf()
var arr=['前端','保定','就業'];
console.log(Array.prototype.isPrototypeOf(arr));//true
  • Array.isArray()
var arr=['前端','保定','就業'];
console.log(Array.isArray(arr));//true

轉換數組

  • 利用toString()方法將數組轉換爲字符串
var arr=['前端','深圳','保定'];
console.log(arr.toString());//輸出結果字符串前端,深圳,保定
  • valueOf()轉換原始值
var obj={
    name:'張三',
}
console.log(obj.valueOf());//{name:張三}

進出棧方法

  • push();在數組最後面添加新的元素
var arr=['前端','保定'];
arr.push('深圳');
console.log(arr);//['前端','保定','深圳']
  • pop();在數組最後面刪除元素
var arr=['前端','java','js'];
arr.pop();
console.log(arr);//['前端','java']
  • unshift();在數組最前面添加新的元素
var arr=['前端','深圳'];
arr.unshift('JavaScript');
console.log(arr);//['JavaScript','前端','深圳']
  • shift();在數組最前面刪除元素
var arr=['前端','深圳','JavaScript'];
arr.shift();
console.log(arr);//['深圳','JavaScript']

排序方法

  • reverse()數組翻轉
var arr=[1,2,3,4,5];
console.log(arr.reverse());//[5,4,3,2,1]
  • sort()方法:對數組中的元素進行排序,並非從小到大的排序,會影響原有數組元素的順序
//從下列這段代碼能夠看出,sort()並不能實現從小到大的排序
var arr=[1,3,5,10,4,2];
console.log(arr.sort());//[ 1, 10, 2, 3, 4, 5 ]

//解決以上sort()不能以小到大的順序排列的問題
var result=arr.sort(function(a,b){
    if(a>b){
        return 1;
    }
});
console.log(result);

鏈接方法

concat()用於數組之間的拼接java

var arr=[1,2,3,4,5];
var arr1=[6,7,8,9,10];
console.log(arr.concat(6));//[1,2,3,4,5,6]
console.log(arr.concat([7,8,9]));//[1,2,3,4,5,7,8,9]
console.log(arr.concat(arr1));//[1,2,3,4,5,6,7,8,9,10]

操做方法

  • splice(刪除開始位置,刪除的元素個數)方法:用於刪除當前數組指定位置指定個數的元素
var arr=[1,2,3,4,5];
/*從arr的0位置開始刪除兩個元素,刪除掉的兩個元素被result變量接住了*/
var result=arr.splice(0,2);
console.log(result);//[1,2]
console.log(arr);//[3,4,5]

//也能夠用splice給數組添加元素,默認在數組最前面添加
//設置從位置0開始,刪除0個,再添加新的元素
var result1=arr.splice(0,0,6,7,8);
console.log(arr);//[1,2,3,4,5,6,7,8]
  • slice()截取指定數組中的元素,能夠傳入兩個參數,第一個是開始截取的位置,從0開始,第二個是結束截取的位置,截取不到最後一位,而是截取最後一位的前一個元素,截取的元素返回新的數組
var arr=[1,2,3];
var result=arr.slice(0,2);
console.log(result);//[1,2]

檢索方法

  • indexOf()用於檢查數組中是否包含指定元素內容,返回元素所在的位置,從左至右順序進行檢查,只返回第一個匹配元素的位置,後面若是還有相同的元素不考慮,若是該元素不存在數組中,返回-1
var arr=['張三','李四','小明'];
console.log(arr.indexOf('張三'));//0
console.log(arr.indexOf('小紅'));//-1
  • lastIndexOf()用於檢查數組中是否包含指定元素內容,返回元素所在的位置,從右至左順序進行檢查,只返回第一個匹配元素的位置,後面若是還有相同的元素不考慮,若是該元素不存在數組中,返回-1
var arr=['張三','李四','小明'];
console.log(arr.lastIndexOf('李四'));//1

forEach()方法

用於遍歷指定數組
callback:表示回調函數
currentValue:表示遍歷數組獲得每一個元素
index:表示遍歷數組獲得每一個元素對應的索引值
array:表示遍歷的數組數組

var arr=['張三','李四','小紅','小明'];
arr.forEach(function(value,index,array){
    console.log(vaule);
    console.log(index);
    console.log(array);
});

迭代方法

判斷數組的元素是否符合條件,符合返回true,不然返回false函數

var arr=[1,2,3,4,5];
var result=arr.every(function(currentVaule,index,array){
    return (cunrrentValue <=5);
});
console.log(result);//true

歸併方法

var arr=[1,2,3,4,5];
arr.reduce(function(accumulator,currentValue,currentIndex,array){
    console.log(accumulator);
    return accumulator+currentValue;
});
相關文章
相關標籤/搜索