前言
Array是Javascript構(gòu)成的一個重要的部分,它可以用來存儲字符串、對象、函數(shù)、Number,它是非常強大的。因此深入了解Array是前端必修的功課。本文將給大家詳細介紹了javascript中數(shù)組的常用算法,下面話不多說了,來一起看看詳細的介紹吧
一、不改變原數(shù)組,返回新數(shù)組(字符串)
1、concat() 連接兩個或者多個數(shù)組,兩邊的原始數(shù)組都不會變化,返回的是被連接數(shù)組的一個副本。
2、join() 把數(shù)組中所有的元素放入到一個字符串中,返回字符串
var a = [1,2,3];a.join([4,5,6]); // "14,5,624,5,63"a.join('sau'); // "1sau2sau3"3、slice() 從開始到結(jié)束(不包括結(jié)束)選擇數(shù)組的一部分淺拷貝到一個新數(shù)組
var a = [1,2,3,4,5];a.slice(0,0); //[]a.slice(0,1); //[1]a.slice(2,4); //[3,4]a.slice(0,5); //[1,2,3,4,5]a.slice(10,1); //[]a.slice(4); //[5]
4、map() 創(chuàng)建一個新的數(shù)組并返回,其中新數(shù)組的每一個元素由調(diào)用原始數(shù)組中的每一個元素執(zhí)行提供的函數(shù)得來,原數(shù)組不變
5、every() 對數(shù)組中的每一個元素都執(zhí)行一次指定的回調(diào)函數(shù),直到回調(diào)函數(shù)返回false,此時every()返回false并不再繼續(xù)執(zhí)行,如果回調(diào)函數(shù)都對每一個元素都返回true,那么every()返回true。
6、some() 對數(shù)組中的每一個元素都執(zhí)行一次指定的回調(diào)函數(shù),直到回調(diào)函數(shù)返回true,此時some()返回true并不再執(zhí)行。如果回調(diào)函數(shù)對每一個元素都返回false,那么some()將返回false。
7、filter() 創(chuàng)建一個新數(shù)組,其中包含通過所提供函數(shù)實現(xiàn)的測試的所有元素。
二、改變原數(shù)組
1、forEach() 針對每一個元素執(zhí)行提供的函數(shù)。會修改原來的數(shù)組,不會返回執(zhí)行結(jié)果,返回undefined。
2、pop() 刪除數(shù)組最后一個元素,返回被刪除的元素的值,如果數(shù)組為空,則不改變數(shù)組,返回undefined。
3、push() 向數(shù)組末尾添加一個或多個元素,返回改變后數(shù)組的長度。
4、reverse() 顛倒數(shù)組中元素的位置,返回該數(shù)組的引用。
5、shift() 從數(shù)組中刪除第一個元素,改變原數(shù)組,并返回該元素的值。
6、unshift() 將一個或者多個元素添加到數(shù)組的開頭,并返回新數(shù)組的長度。
7、sort() 對數(shù)組的元素進行排序,返回數(shù)組。排序不一定是穩(wěn)定的。默認排序順序是根據(jù)字符串unicode碼點。
8、splice() 向數(shù)組中添加/刪除元素,然后返回被刪除的新數(shù)組()。
var a = [1,2,3,4,5];a.splice(0,1); //刪除從0位置開始的1個 返回[1] a為[2,3,4,5] a.splice(1,0,99) //在1的位置插入99 [2,99,3,4,5]a.splice(1,1,88) //99替換為88 [2,88,3,4,5]
新聞熱點
疑難解答
圖片精選