JS 數組(Arrey)屬性以及方法詳解

很久的沒寫文章了,有點愧疚啊....(面壁檢討中...)。感受不論寫的水平如何,仍是先要把本身寫文章的習慣養成才行。文學能力略差,各位大佬勿噴.
數組建立數組

var arr = new Array("a","b","c");

或者spa

var arr = new Array(10);
//建立一個長度爲10  的空數組

或者code

var arr = ["a","b","c"]

目前沒發現這兩種方式有啥區別,若有大神知道,歡迎補充。
建立好訪問就能夠經過數組下標訪問了,稍微有點基礎的同窗基本都知道,就很少BB了。
遍歷數組排序

var arr = ["a","b","c"];
arr.forEach(function(item,index){
    console.log(item,index)
})

或者字符串

var al = arr.length;
for(var a=0;a<al;a++){
    console.log(arr[a]);
}

兩種方式能夠經過本身代碼當時的邏輯進行選擇,各有各的優勢吧。
數組元素添加it

var arr = ["a","b","c"];

添加到最後面io

arr.push("d");    // ["a","b","c","d"]

添加到最前面console

arr.unshift("x")  // ["x","a","b","c"];

數組元素的刪除以及數組的切分function

var arr = ["a","b","c","d","e","f"];

刪除數組最後一項基礎

arr.pop();   // ["a","b","c","d","e"]

刪除數組第一項

arr.shift();  // ["b","c","d","e","f"]

截取數組的一部分

// 截取數組的某一部分,原數組變成截取後剩餘的數組,返回值爲截取的部分
arr.splice(1,4) // ["b","c","d","e"]  arr=> ["a","f"]
// 第一個參數:1  指要截取的開始位置(下標)
// 第二個參數:4  指要截取的長度

獲取數組的一部分

// 原數組不變,返回值爲須要的數組
arr.slice(1,4)    // ["b","c","d"] arr不變
// 第一個參數:1   指要獲取數組的開始位置(下標)
// 第二個參數:4    指要獲取數組的結束位置(下標)

複製一個數組

var new_arr = arr.slice()    
//也能夠經過轉換字符串的方式 ,看我的喜愛了....
var new_arr = arr.copyWithin()
// 這個方法並不經常使用,並且不是深度複製,當你改變new_arr後arr也會隨着改變

獲取數組某一元素下標

arr.indexOf("b")     // 1

獲取數組長度

arr.length            // 6

填充數組

arr.fill("x",2,5)    //[ 'a', 'b', 'x', 'x', 'x', 'f' ]
// 第一個參數:"x" 要填充的元素值
// 第二個參數爲要填充的開始位置,第三個爲要填充的結束位置(下標值)

顛倒數組的順序

arr.reverse();     // [ 'f', 'e', 'd', 'c', 'b', 'a' ]

數組排序

arr.sort()        // ["a","b","c","d","e","f"]
// 默認按首字母進行排序
// 方法接受一個function參數能夠本身定義安什麼排序,function返回1或者-1

合併兩個數組

var arr1 = ["a","b","c"] var arr2 = [1,2,3]
var new_arr = arr1.concat(arr2) // [ 'a', 'b', 'c', 1, 2, 3 ]
// 合併之後返回的是一個全新的數組改變原有的arr1或者arr2不會影響new_arr

判斷數組是否包含某個元素

var arr. includes("b")    // true
// 後面還有一個參數 能夠指定查找的開始位置
// 這個方法並不經常使用並且存在兼容性問題

用一個字符串鏈接數組元素

arr.join("-")    // 'a-b-c-d-e-f'
// 經常使用這個方法用來吧數組轉爲字符串 參數能夠爲空或者空字符串

數組轉爲字符串

arr.toString()    //'a,b,c,d,e,f'
arr.toLocaleString()    //'a,b,c,d,e,f'

數組迭代器

var a = ['a', 'b', 'c'];
var iterator = a.entries();
console.log(iterator.next().value); // [0, 'a']
console.log(iterator.next().value); // [1, 'b']
console.log(iterator.next().value); // [2, 'c']

var arr = ['a', , 'c'];
var sparseKeys = Object.keys(arr);
var denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys);  // [0, 1, 2]
// 迭代器平時不怎麼經常使用,可是在某些關鍵地方有時候仍是會給咱們帶來很大的幫助的。

以上大概就是js中數組的一些常見的屬性及方法了,若有遺漏歡迎各位大神及時指出補充。

相關文章
相關標籤/搜索