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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

返回值:返回一個(gè)新的字符串

//將數(shù)組用 - 符號(hào)連接起來

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

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

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

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

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

返回值:返回一個(gè)新的數(shù)組

let str = wqz-ttj;

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

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

數(shù)組的增刪操作(直接改變?cè)瓟?shù)組)

3. push

該方法可以在數(shù)組的最后面,添加一個(gè)或者多個(gè)元素

結(jié)構(gòu): arr.push(值)

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

4. pop

該方法可以在數(shù)組的最后面,刪除一個(gè)元素

結(jié)構(gòu): arr.pop(值)

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

5. unshift

該方法可以在數(shù)組的最前面,添加一個(gè)或者幾個(gè)元素

結(jié)構(gòu): arr.unshift(值)

返回值: 返回的是添加元素后數(shù)組的長度

6. shift

該方法可以在數(shù)組的最前面,添加一個(gè)元素

結(jié)構(gòu): arr.shift(值)

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

數(shù)組的翻轉(zhuǎn)和排序(改變數(shù)組)

7. reverse 翻轉(zhuǎn)數(shù)組

結(jié)構(gòu):arr.reserse()

8. sort

該方法可以對(duì)數(shù)組進(jìn)行排序.

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

//沒有參數(shù):時(shí)按照首字符的先后排序

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

//有參數(shù)

arr.sort(function(a,b){

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

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

})

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

9. concat

該方法可以把兩個(gè)數(shù)組里的元素拼接成一個(gè)新的數(shù)組

返回值: 返回拼接后的新數(shù)組

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的區(qū)別: push是直接把后一個(gè)元素原封不動(dòng)的添加到第一個(gè)數(shù)組的后面;

10. slice 截取 出來

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

返回值:返回截取出來的字段,放到新的數(shù)組中,不改變?cè)瓟?shù)組

結(jié)構(gòu)1:arr.slice(start,end) ;從start下標(biāo)開始截取,一直到end結(jié)束,不包括end

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

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

結(jié)構(gòu)2:arr.slice(start) ;從start下標(biāo)開始截取,一直到最后

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

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

結(jié)構(gòu)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];

刪除或增加元素(任意在任何位置,直接改變?cè)瓟?shù)組,沒有返回值)

11. splice

結(jié)構(gòu)1: arr.splice(start,deletedCount) 純刪除

從start下標(biāo)開始,刪除幾個(gè)

結(jié)構(gòu)2: arr.splice(start,deletedCount,item) 替換

從start下標(biāo)開始,刪除幾個(gè),并在該位置添加item

結(jié)構(gòu)3: arr.splice(start,0,item) 純添加

從start下標(biāo)開始,刪除0個(gè),并在該位置添加item,start開始全部往后移動(dòng)

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

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

查找元素在數(shù)組中出現(xiàn)的位置

12. indexOf

該方法用來查找元素在數(shù)組中第一次出現(xiàn)的位置

結(jié)構(gòu): arr.indexOf(元素)

特殊用法:

(1) arr.indexOf (ele,fromIndex),從fromIndex這個(gè)下標(biāo)開始,元素第一次出現(xiàn)的位置

用來判斷元素是否存在于數(shù)組中!

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

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

} else {

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

}

13. lastIndexOf

該方法用來查找元素最后一次在數(shù)組中出現(xiàn)的位置

ES5新增的遍歷數(shù)組方法

1.? ? ? forEach( )

該方法等同于for循環(huán),沒有返回值

用法:

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

//里面的function是一個(gè)回調(diào)函數(shù),

//item: 數(shù)組中的每一項(xiàng);

//index:item 對(duì)應(yīng)的下標(biāo)索引值

//arr: 就是調(diào)用該方法的數(shù)組本身

})

2.map( )

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

//里面的function是一個(gè)回調(diào)函數(shù),

//item: 數(shù)組中的每一項(xiàng);

//index:item 對(duì)應(yīng)的下標(biāo)索引值

//arr: 就是調(diào)用該方法的數(shù)組本身

用法:

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的項(xiàng)

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

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

return item;

});

console.log(res4);

4. some

判斷數(shù)組中有沒有符合條件的項(xiàng)(只要有,就返回true),如果一個(gè)都沒有,才返回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

判斷數(shù)組中所有的項(xiàng)是否滿足要求,如果全都滿足,才返回true,否則返回false

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

return item.done;

});

console.log(res6);

6. find

找到符合條件的項(xiàng),并且返回第一項(xiàng)

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

找到符合條件的項(xiàng)的下標(biāo),并且返回第一個(gè)

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

return item.done;

});

console.log(res8);

8.reduce

? 1.求和計(jì)算

? *第一次: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.扁平化數(shù)組(拼接數(shù)組)

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

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

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

})

console.log(new2);

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。