前端Js常見的數(shù)組函數(shù)集合

前端Js常見的數(shù)組函數(shù)集合

1、instanceof() : 檢測一個對象是否是數(shù)組(用來對付復(fù)雜數(shù)據(jù)類型)

var arr = [1,2,3];

console.log(arr instanceof Array);? // 返回值為: ture? arr屬不屬于Array(數(shù)組)類型? ?

2、valueOf(): 返回數(shù)組本身

var arr = ["aaa","bbb","ccc"];

console.log(arr.valueOf());? // 返回值為: ["aaa","bbb","ccc"]

3、把數(shù)組變成字符串

(1).toString()?

var arr = ["aaa","bbb","ccc"];

console.log(arr.toString());? // 返回值為: aaa,bbb,ccc

(2).join()? ? 把數(shù)組中的所有元素放入一個字符串

var arr = ["aaa","bbb","ccc"];

var array = arr.join('');? // ' ' 中加間隔符? 為空默認(rèn)不加

console.log(array);? //返回值為:aaabbbccc

4-1、push(): 在數(shù)組的最末尾添加元素

var arr = [1,2,3];

var aaa = arr.push("abc"); //在數(shù)組的最末尾添加一個元素

console.log(arr); // 返回值為: [1,2,3,abc]

console.log(aaa); // 返回值為: 4? 返回值是數(shù)組的長度

4-2、pop(): 在數(shù)組的最末尾刪除一項(不需要參數(shù))

var arr = [1,2,3];

var aaa = arr.pop(); // 在數(shù)組的最末尾刪除一個元素

console.log(arr); // 返回值為: [1,2]

console.log(aaa); // 返回值為: 3? 返回值是被刪除的那一項

5-1、unshift(): 在數(shù)組的最前面添加一個元素

var arr = [1,2,3];

var aaa = arr.unshift("abc"); //在數(shù)組的最前面添加一個元素

console.log(arr); // 返回值為: [abc,1,2,3]?

console.log(aaa); // 返回值為: 4? 返回值是數(shù)組的長度

5-2、shift(): 在數(shù)組的最前面刪除一項(不需要參數(shù))

var arr = [1,2,3];

var aaa = arr.shift(); // 在數(shù)組的最前面刪除一個元素

console.log(arr); // 返回值為: [2,3]

console.log(aaa); // 返回值為: 1? 返回值是被刪除的那一項

6、reverse(): 數(shù)組反向輸出

var arr1 = [1,2,3,4,5];

var aaa = arr1.reverse(); // 返回值為: [5,4,3,2,1]

7、sort(): 數(shù)組排序 (默認(rèn)順序:按照首個字符的Unicode編碼排序,從小到大)

(1).默認(rèn)排序

var arr1 = [4,5,1,3,2,7,6];

var aaa =arr1.sort();

console.log(aaa);? // 返回值為: [1, 2, 3, 4, 5, 6, 7]

(2).自定義排序

var arr2 = [4,5,1,13,2,7,6];

//回調(diào)函數(shù)里面返回值如果是: 參數(shù)1-參數(shù)2:升冪;? 參數(shù)2-參數(shù)1:降冪

arr.sort(function (a,b) {

return a-b; // 升序

? ? // return b-a; // 降序

});

console.log(arr2); // a-b返回值為:[1, 2, 4, 5, 6, 7, 13]? b-a返回值為:

8、concat() 拼接數(shù)組

var arr1 = [1,2,3];

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

var arr3 = arr1.concat(arr2);

console.log(arr3)? // 返回值為: [1, 2, 3, "a", "b", "c"]

9、slice() 數(shù)組截取? 形式:slice(開始位置的數(shù)組下標(biāo) ,結(jié)束位置的數(shù)組下標(biāo))

var arr = [1, 2, 3, "a", "b", "c"];

console.log(arr.slice(3));? // 返回值為: ["a", "b", "c"]? 從下標(biāo)為3(包括第3個)的開始截取到最后

console.log(arr.slice(0,3)); // 返回值為:[1, 2, 3]? 從下標(biāo)為0(包括第0個)的開始截取3個

console.log(arr.slice(-2)); // 返回值為: ["b", "c"]? 負(fù)數(shù)是從最后往前截取 -2就是截取到倒數(shù)第二個

console.log(arr.slice(3,0)); // 返回值為: [ ]? 如果前面的比后面的大,那么就是[ ];

10、splice() 數(shù)組的替換和刪除? 形式:splice(開始下標(biāo)值,刪除個數(shù),替換內(nèi)容1,替換內(nèi)容2,...)

(1).刪除

var arr = [1,2,3,4,5,6,"a", "b", "c"]

arr.splice(5);? // 從下標(biāo)值為5(包括第5個)的開始刪除到最后

console.log(arr); // 返回值為: [1, 2, 3, 4, 5]

console.log(arr);? // 返回值為:[1,4,5,6,"a", "b", "c"]

(2).替換

var arr = [1,2,3,4,5,6,"a", "b", "c"];

console.log(arr.splice(3,3,"aaa","bbb","ccc"));? //從下標(biāo)值為3(包括第3個)的開始刪除3個并且替換掉刪除的

console.log(arr);? // 返回值為:[1, 2, 3, "aaa", "bbb", "ccc", "a", "b", "c"]

11、indexOf() / lastIndexOf()? 查元素在數(shù)組中的下標(biāo)值

var arr = ["a","b","c","d"];arr.splice(1,2);? // 從下標(biāo)值為1(包括第1個)的開始刪除2個(刪除指定位置指定個數(shù))

console.log(arr.indexOf("b")); //返回值為:1? (從前往后查詢)查到以后立刻返回

console.log(arr.lastIndexOf("d")); //返回值為:6? (從后往前查詢)查到以后立刻返回

console.log(arr.indexOf("xxx")); // 返回值為:-1? 查不到就返回-1

12、filter()? 數(shù)組過濾函數(shù)

var arr = [111,222,333,444,555];

var newArr = arr.filter( function (element, index, array) {

? ? //篩選能被2整除的元素? 組成新數(shù)組

? ? if( element%2 === 0 ){

? ? ? return true;

? ? }else{

? ? ? return false;

? ? }

})

console.log( newArr ); // 返回值為:[222, 444]

13、forEach()? 數(shù)組循環(huán)(和for循環(huán)一樣;沒有返回值;)

var arr = [111,222,333,444,555];

var sum = 0;

var aaa = arr.forEach(function (element,index,array) {

? ? console.log(element); // 返回值為:輸出數(shù)組中的每一個元素

? ? console.log(index); // 返回值為:數(shù)組元素對應(yīng)的索引值

? ? console.log(array); // 返回值為:[111, 222, 333, 444, 555]

? ? sum += element; // 數(shù)組中元素求和;

});

console.log(sum); // 返回值為:1665 數(shù)組元素加起來的和

console.log(aaa); // 返回值為:undefined? 因為沒有返回值 所以返回undefined

14、map()? 對數(shù)組中每一項運行回調(diào)函數(shù),返回該函數(shù)的結(jié)果組成的新數(shù)組(return什么新數(shù)組中就有什么; 不return返回undefined; 對數(shù)組二次加工)

var arr = [111,222,333,444,555];

var newArr = arr.map(function (element, index, array) {

? ? if(index == 2){

? ? ? return element; // 這里return了 所以下面返回的值是333

? ? }

? ? console.log(newArr); // 返回值為: [undefined, undefined, 333, undefined, undefined]

? ? return element*100; // 返回的元素值都乘上100后的值

})

console.log(newArr); // 返回值為:[11100, 22200, 333, 44400, 55500]

15、some()? 對數(shù)組中每一項運行回調(diào)函數(shù),如果該函數(shù)對某一項返回true,則some返回true

var arr = [111,222,333,444,555];

var bool = arr.some(function (ele,i,array) {

? ? //判斷數(shù)組中是否有3的倍數(shù)(只要有一個是就返回true)

? ? if(ele%3 == 0){

? ? ? return true;

? ? }

? ? return false;

})

console.log(bool); //返回值為:true ; 有一個成功就是true


如有補(bǔ)充歡迎留言!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容