js中數組經常使用方法總結

建立數組的方式

  • 使用Array構造函數
var arr = new Array();
var arr = new Array(2); //length爲2的數組
var arr = new Array("a","b","c"); //包含a,b,c的數組
//new 操做符可省略
複製代碼
  • 數組字面量
var arr = [];
var arr = ['a','b','c'];
複製代碼

數組的length屬性不是隻讀的,咱們能夠經過設置這個屬性從數組的末尾移除項或添加項javascript

var arr = [1,2,3];
arr.length = 2;
console.log(arr[2])//undefined
arr[arr.length] = 4;
console.log(arr[arr.length-1])//4
複製代碼

檢測數組

  • instanceof
var arr = [];
arr instanceof Array //true 若是一個網頁存在兩個不一樣的全局執行環境,從而就會存在兩個不一樣版本的Array構造函數,這個要返回true,arr必須是一個數組,並且要和Array構造函數在同個做用域
複製代碼
  • isArray
Array.isArray(arr) //true ie9+
function isArray(value){
    return Object.prototype.toString.call(value) == "[object Array]"
}
複製代碼

轉換方法

var arr = ['a','b','c'];
console.log(arr.toString()) //a,b,c
console.log(arr.valueOf()) //['a','b','c']
console.log(arr.toLocaleString()) //a,b,c
console.log(arr.join("||")) //a||b||c
複製代碼

經常使用方法

push() //向數組的末尾添加任意數量的參數,返回新的length
pop() //移除數組的最後一項,返回被移除的項
shift() //移除數組中第一項,返回被移除的項
unshift() // 向數組的前端添加任意數量的參數,返回新的length
reverse() //反轉數組
sort() //sort方法會調用每一項的toString()轉型方法,而後比較獲得的字符串
        //sort方法能夠接受一個比較函數
        function compare(value1,value2){
            if(value1 < value2){
                return -1  //value1在value2以前返回-1
            }else if(value1 > value2){
                return 1
            }else{
                return 0 //相等
            }
        }
concat() //建立當前數組的一個副本,將接收到的參數添加到這個副本的末尾,返回新構建的數組
slice() //截取數組,接收一或兩個參數,可接受負值
splice() //可接受多個參數,第一個是起始位置,第二個是要刪除的項數,後面是要插入的項,返回從原始數組中刪除的項組成的數組
indexOf() //可接受兩個參數,要查找的項和查找起點(可選),找到返回位置,找不到返回-1
lastIndexOf() //從數組的末尾開始查找 ie9+
複製代碼

迭代方法

every() //每一項都爲true,則返回true
filter() //返回結果爲true組成的數組
forEach() //沒有返回值
map() //返回調用結果組成的數組
some() //任一項返回true,則返回true
//上述方法接收一個callback和一個運行改函數的做用域對象(可選,影響this的值)
        function callback(item,index,array){
            //item是數組的每一項
            //index是每一項的索引
            //array是數組對象自己
        }
複製代碼

歸併方法

reduce() // 從第一項開始
reduceRight() //從數組的最後一項開始向前遍歷
//這兩個方法都會迭代數組的每一項,構建一個最終返回的值
//能夠接受一個callback和一個做爲歸併基礎的初始值(可選)
    function callback(prev,cur,index,array){
        //prev前一個值
        //cur當前值
        //index項的索引
        //array數組對象
    }
    //這個callback返回的任何值都會做爲第一個參數自動傳遞給下一項
複製代碼
相關文章
相關標籤/搜索