數組方法大全(第一篇) 註意:第一次寫博客有點小緊張,如有錯誤歡迎指出,如有雷同純屬巧合,本次總結參考書籍JavaScript權威指南,有興趣的小伙伴可以去翻閱一下哦 join()方法 該方法是將數組內的所有元素轉化為字元串並拼接在一起,最後返回生成的字元串。可以指定一個可選的字元串,來分隔數組得各 ...
數組方法大全(第一篇)
註意:第一次寫博客有點小緊張,如有錯誤歡迎指出,如有雷同純屬巧合,本次總結參考書籍JavaScript權威指南,有興趣的小伙伴可以去翻閱一下哦
join()方法
該方法是將數組內的所有元素轉化為字元串並拼接在一起,最後返回生成的字元串。可以指定一個可選的字元串,來分隔數組得各個元素,預設使用 “,” 相隔
例:
var arr = [1,2,3];
arr.join(); ==> 輸出'1,2,3'
arr.join(" ") ==> 輸出'1 2 3'
arr.join("") ==> 輸出'123'
//此時再次列印arr
console.log(arr); ==> 輸出[1,2,3]
reverse()方法
該方法是將數組中的元素顛倒順序,返回逆向數組
例:
var arr = [1,4,3];
arr.reverse(); ==> 輸出[3,4,1]
//此時再次列印arr
console.log(arr); ==> 輸出[3,4,1]
sort()方法
該方法是將數組中的元素排序,返回排序後的結果,預設是按字母表順序進行排序(如有必要將轉化為字元串進行比較),如果數組中帶有undefined元素,則它們會被排到數組尾部。可以傳遞一個函數,該函數決定了它的兩個參數在排好序的數組中的先後順序,如果函數的返回值小於0,則第一個參數就在前面,反之,第一個參數就在後面,假設兩個值相等,則就返回0
例:
var arr = ['abc','cfg','1',undefined]
arr.sort(); ==> 輸出["1", "abc", "cfg", undefined]
var arr1 = [2,5,3,7,6];
//返回值小於0,從小到大進行排列
arr1.sort(function (a,b) {return a - b}); ==> 輸出[2, 3, 5, 6, 7]
//返回值大於0,從大到小進行排列
arr1.sort(function (a,b) {return b - a}); ==>輸出[7, 6, 5, 3, 2]
//此時輸出arr1
console.log(arr1); ==>輸出[7, 6, 5, 3, 2]
concat方法
該方法會將原數組和傳進來的參數拼接成一個新的數組並返回,不修改原數組,如果傳進來的參數為數組,則會將數組裡的每一項與原數組拼接
例:
var arr = [1,3];
arr.concat(5,4,[6,7,[8,9]],{s:'1'}); ==> 輸出[1,3,5,4,6,7,[8,9],{s:'1'}]
//此時輸出arr
console.log(arr); ==>輸出[1,3]
slice(start,end)方法
該方法返回指定數組的一個片段或者子數組,最多可以傳遞兩個參數,當只傳遞一個參數時,表示從指定起始位置,一直到最後,返回包含起始位置的數組,如果傳遞兩位,返回包含起始位置,但不包含結束位置的數組,如果傳遞負數,表示結束位置為倒數第幾位,此方法不改變原數組
例:
var arr = [1,2,3,4];
arr.slice(0,2); ==> 輸出[1,2]
arr.slice(1); ==> 輸出[2,3,4]
arr.slice(-1,-3); ==> 輸出[]
arr.slice(-3,-2); ==> 輸出[2]
arr.slice(1,-1); ==> 輸出[2,3]
//此時輸出arr
console.log(arr) ==> 輸出[1,2,3,4]
splice()方法
該方法可以插入或者刪除數組中的元素,裡面可以傳參數,第一個參數代表插入或刪除的起始位置,第二個參數是指定刪除元素的個數,不傳就代表從起始點到數組末尾的元素都將被刪除,緊跟其後的參數都是要插入數組中的元素,記住它的返回值是由刪除的元素組成的數組,它會修改原數組
例:
var arr = [1,2,3,4];
var a = arr.splice(2); ==> 輸出a的值為[3,4],此時arr的值為[1,2]
//上下對應的是不同的方式運行的結果
var a = arr.splice(1,2); ==>輸出a的值為[2,3],此時arr的值為[1,4]
var a = arr.splice(1,2,5,6); ==>輸出a的值為[2,3],此時arr的值為[1,5,6,4]
var a = arr.splice(1,2,[5,6]); ==>輸出a的值為[2,3],此時arr的值為[1,[5,6],4]
//該方法區別於concat,它會把指定插入的什麼,就會插入什麼,不會做出改變
push()方法,pop()方法
1. push方法在數組的尾部添加一個或者多個元素,返回的是數組的新的長度
例:
var arr = [1,2];
var a = arr.push([],{},3,[1,2],{s:'haha'}); ==>輸出a的值為6
//原數組arr為[1,2,[],{},[1,2],{s:'haha'}]
2. pop方法是刪除數組的最後一個元素,返回的是刪除的值
例:
var arr = [1,2,3];
var a = arr.pop(); ==>輸出a的值為3,原數組arr的值為[1,2]
//pop裡面傳參數是沒有用的,返回的都是數組最後一位
unshift()方法、shift()方法
1. unshift()方法,是在數組的最前面插入指定元素,返回新數組的長度
var arr = [1,2,3];
var a = arr.unshift(4,5,6); ==>輸出a的值6,原數組arr為[4,5,6,1,2,3]
2. shift()方法,是刪除數組第一位元素,返回刪除的值
var arr = [1,2,3];
var a = arr.shift(); ==>輸出a的值為1,原數組arr為[2,3]
//shift方法裡面傳參沒有什麼用,返回的都是數組的第一位
toString()方法、toLocaleString()方法
1. toString()方法將其數組中的每個元素轉化為字元串,必要時將調用元素的toString方法
var arr = [1,2,3];
var a = arr.unshift(4,5,6); ==>輸出a的值6,原數組arr為[4,5,6,1,2,3]
var arr = [1,2,3];
var a = arr.shift(); ==>輸出a的值為1,原數組arr為[2,3]
//shift方法裡面傳參沒有什麼用,返回的都是數組的第一位
toString()方法、toLocaleString()方法
1. toString()方法將其數組中的每個元素轉化為字元串,必要時將調用元素的toString方法
註意:輸出不包括方括弧或其它任何形式的包裹數組值得分隔符
var arr = ['a',1,[2,3],[],{},{s:'hello'}];
var a = arr.toString();
//輸出a的值為"a,1,2,3,,[object Object],[object Object]"
2. toLocaleString()方法,這裡就不做過多介紹,詳情點這裡
總結:
會修改原數組的值方法有 push(),pop(),unshift(),shift(),splice()
會修改原數組的順序的有reverse()(反轉),sort()(排序)
var arr = ['a',1,[2,3],[],{},{s:'hello'}];
var a = arr.toString();
//輸出a的值為"a,1,2,3,,[object Object],[object Object]"