日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于js的数组方法部分整理

發布時間:2023/12/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于js的数组方法部分整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. join (原數組不受影響)

? 該方法可以將數組里的元素,通過指定的分隔符,以字符串的形式連接起來。

返回值:返回一個新的字符串

//將數組用 - 符號連接起來

let arr = [1,2,3,4,5];

let str = arr.join('-');

console.log(str)//str = 1-2-3-4-5;

2. split (原數組不受影響)

? 該方法是用過指定的分隔符,將字符串分割成數組。

返回值:返回一個新的數組

let str = wqz-ttj;

let arr = str.split('-');

console.log(arr);// arr=['wqz','ttj'];

數組的增刪操作(直接改變原數組)

3. push

該方法可以在數組的最后面,添加一個或者多個元素

結構: arr.push(值)

返回值:返回的是添加元素后數組的長度.

4. pop

該方法可以在數組的最后面,刪除一個元素

結構: arr.pop(值)

返回值:返回的是剛才刪除的元素.

5. unshift

該方法可以在數組的最前面,添加一個或者幾個元素

結構: arr.unshift(值)

返回值: 返回的是添加元素后數組的長度

6. shift

該方法可以在數組的最前面,添加一個元素

結構: arr.shift(值)

返回值: 返回的是剛才刪除的元素.

數組的翻轉和排序(改變數組)

7. reverse 翻轉數組

結構:arr.reserse()

8. sort

該方法可以對數組進行排序.

let arr = [1,3,5,2,4,23,122,34];

//沒有參數:時按照首字符的先后排序

arr.sort()//arr=[1,122,2,23,3,34,4,5];

//有參數

arr.sort(function(a,b){

return a-b;//從小到大排序

return b-a;//從大到小排序

})

數組的拼接與截取(原數組不受影響)

9. concat

該方法可以把兩個數組里的元素拼接成一個新的數組

返回值: 返回拼接后的新數組

let arr1 = [1,2,3];

let arr2 = [4,5,6];

let arr = arr1.concat(arr2);//arr = [1,2,3,4,5,6];

arr1.push(arr2);//arr1 = [1,2,3,[4,5,6]];

該方法和push的區別: push是直接把后一個元素原封不動的添加到第一個數組的后面;

10. slice 截取 出來

該方法可以從數組中截取指定的字段,返回出來

返回值:返回截取出來的字段,放到新的數組中,不改變原數組

結構1:arr.slice(start,end) ;從start下標開始截取,一直到end結束,不包括end

let arr = [0,1,2,3,4,5,6,7];

let newArr = arr.slice(0,3)//newArr = [0,1,2];

結構2:arr.slice(start) ;從start下標開始截取,一直到最后

let arr = [0,1,2,3,4,5,6,7];

let newArr = arr.slice(2)//newArr = [2,3,4,5,6,7];

結構3:arr.slice( ) ;全部截取

let arr = [0,1,2,3,4,5,6,7];

let newArr = arr.slice(2)//newArr = [0,1,2,3,4,5,6,7];

刪除或增加元素(任意在任何位置,直接改變原數組,沒有返回值)

11. splice

結構1: arr.splice(start,deletedCount) 純刪除

從start下標開始,刪除幾個

結構2: arr.splice(start,deletedCount,item) 替換

從start下標開始,刪除幾個,并在該位置添加item

結構3: arr.splice(start,0,item) 純添加

從start下標開始,刪除0個,并在該位置添加item,start開始全部往后移動

let arr = [1,2,6,7,8];

arr.splice(2,0,3,4,5);//arr = [1,2,3,4,5,6,7,8];

查找元素在數組中出現的位置

12. indexOf

該方法用來查找元素在數組中第一次出現的位置

結構: arr.indexOf(元素)

特殊用法:

(1) arr.indexOf (ele,fromIndex),從fromIndex這個下標開始,元素第一次出現的位置

用來判斷元素是否存在于數組中!

if (arr.indexOf(ele) === -1){//說明元素不存在!!

console.log('元素不存在!)

} else {

console.log(' 元素存在! ')

}

13. lastIndexOf

該方法用來查找元素最后一次在數組中出現的位置

ES5新增的遍歷數組方法

1.? ? ? forEach( )

該方法等同于for循環,沒有返回值

用法:

arr.forEach(function(item,index,arr){

//里面的function是一個回調函數,

//item: 數組中的每一項;

//index:item 對應的下標索引值

//arr: 就是調用該方法的數組本身

})

2.map( )

映射,該方法使用和forEach大致相同,但是該方法有返回值,返回一個新數組,新數組的長度和原數組長度相等

//里面的function是一個回調函數,

//item: 數組中的每一項;

//index:item 對應的下標索引值

//arr: 就是調用該方法的數組本身

用法:

let arr = [1,32,54,6,543];

let res = arr.map(function(item,index,arr){

return item*2;

})

3. filter( )

filter方法: 有返回值, 過濾出符合條件的元素

let arr = [1, 3, 5, 2, 4, 6];

let res3 = arr.filter(function(item, index) {

return item % 2 === 0;

});

console.log(res3);

過濾出布爾類型為true的項

let arr2 = [0, "", false, 1, 3, 4];

let res4 = arr2.filter(function(item, index) {

return item;

});

console.log(res4);

4. some

判斷數組中有沒有符合條件的項(只要有,就返回true),如果一個都沒有,才返回false

let arr3 = [

{ name: "zs", age: 18, done: "notYet" },

{ name: "ls", age: 20, done: true },

{ name: "ww", age: 22, done: true }

];

let res5 = arr3.some(function(item) {

return item.done;

});

console.log(res5);

5. every

判斷數組中所有的項是否滿足要求,如果全都滿足,才返回true,否則返回false

let res6 = arr3.every(function(item) {

return item.done;

});

console.log(res6);

6. find

找到符合條件的項,并且返回第一項

let arr4 = [

{ id: 3, name: "ls", done: false },

{ id: 1, name: "zs", done: true },

{ id: 2, name: "ww", done: true }

];

// var res7 = arr4.find(function(item) {

// return item.done;

// });

// console.log(res7);

7. findIndex

找到符合條件的項的下標,并且返回第一個

var res8 = arr4.findIndex(function(item) {

return item.done;

});

console.log(res8);

8.reduce

? 1.求和計算

? *第一次:pre–>1 next–>2 index–>1

pre+next=1+2=3

*第二次:pre–>3 next–>3 index–>2

pre+next=3+3=6

*第三次:pre–>6 next–>4 index–>3

pre+next=6+4=10

*第四次:pre–>10 next–>5 index–>4

?

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

var new1 = arr1.reduce(function(pre,next,index){

return pre+next ;

//pre+next=10+5=15

})

console.log(new1);

2.扁平化數組(拼接數組)

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

var new2 = arr2.reduce(function(pre,next,index){

return pre.concat(next); //前數組拼接后數組 .concat()

})

console.log(new2);

總結

以上是生活随笔為你收集整理的关于js的数组方法部分整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。