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

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

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

var arr = [1,2,3];

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

2、valueOf(): 返回?cái)?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ù)組中的所有元素放入一個(gè)字符串

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ù)組的最末尾添加一個(gè)元素

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

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

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

var arr = [1,2,3];

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

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

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

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

var arr = [1,2,3];

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

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

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

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

var arr = [1,2,3];

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

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

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

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

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

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

7、sort(): 數(shù)組排序 (默認(rèn)順序:按照首個(gè)字符的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個(gè))的開始截取到最后

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

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

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

10、splice() 數(shù)組的替換和刪除? 形式:splice(開始下標(biāo)值,刪除個(gè)數(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個(gè))的開始刪除到最后

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個(gè))的開始刪除3個(gè)并且替換掉刪除的

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個(gè))的開始刪除2個(gè)(刪除指定位置指定個(gè)數(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ù)組中的每一個(gè)元素

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

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

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

});

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

console.log(aaa); // 返回值為:undefined? 因?yàn)闆]有返回值 所以返回undefined

14、map()? 對(duì)數(shù)組中每一項(xiàng)運(yùn)行回調(diào)函數(shù),返回該函數(shù)的結(jié)果組成的新數(shù)組(return什么新數(shù)組中就有什么; 不return返回undefined; 對(duì)數(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()? 對(duì)數(shù)組中每一項(xiàng)運(yùn)行回調(diào)函數(shù),如果該函數(shù)對(duì)某一項(xiàng)返回true,則some返回true

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

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

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

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

? ? ? return true;

? ? }

? ? return false;

})

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


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

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

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

  • 常用的js字符串函數(shù)集合 一、其他數(shù)據(jù)類型轉(zhuǎn)換為字符串類型 (1).最直接的 給數(shù)據(jù)加引號(hào)(任何數(shù)據(jù)類型加上引號(hào)...
    Alexa_老王閱讀 797評(píng)論 1 1
  • 前端常見的字符串操作面試題 一、字符串去重 var str = "ahahggagsssjjj"; functio...
    Alexa_老王閱讀 537評(píng)論 0 1
  • 1.用js實(shí)現(xiàn)隨機(jī)選取10~100之間的10個(gè)數(shù)字,存入一個(gè)數(shù)組,并排序 //要是獲取不重復(fù)的,則對(duì)隨機(jī)數(shù)...
    persistlu閱讀 5,894評(píng)論 0 0
  • 第一部分:快速入門JS學(xué)習(xí)中的一些注意點(diǎn):2018.8.16基礎(chǔ)知識(shí): 入門JavaScript是世界上最流行的腳...
    天山雪蓮_38324閱讀 594評(píng)論 0 1
  • 沒有什么是理所當(dāng)然的,當(dāng)然也沒有什么都是想必如此的,這些道理都懂卻做不到的便是不曾去糾正這些或那些的事或物的前因后...
    芊芊好好閱讀 282評(píng)論 0 0

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