欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js數(shù)組常用19種方法(你會(huì)的到底有多少呢)

 更新時(shí)間:2023年09月08日 09:44:01   作者:前端黑馬小揚(yáng)  
這篇文章主要給大家介紹了關(guān)于js數(shù)組常用19種方法,大家可以看看你會(huì)的到底有多少呢,在日常開發(fā)中我們會(huì)接觸到j(luò)s中數(shù)組的一些方法,需要的朋友可以參考下

一、改變原數(shù)組的方法

1.push() 末尾添加數(shù)據(jù)

語法: 數(shù)組名.push(數(shù)據(jù))

作用: 就是往數(shù)組末尾添加數(shù)據(jù)

返回值: 就是這個(gè)數(shù)組的長度

//push
var arr = [10, 20, 30, 40]
res = arr.push(20)
console.log(arr);//[10,20,30,40,20]
console.log(res);//5

2. pop() 末尾出刪除數(shù)據(jù)

語法:數(shù)組名.pop()

作用: 就是從數(shù)組的末尾刪除一個(gè)數(shù)據(jù)

返回值: 就是你刪除的那個(gè)數(shù)據(jù)

//pop
var arr = [10, 20, 30, 40] 
res =arr.pop()
console.log(arr);//[10,20,30]
console.log(res);//40

3.unshift() 頭部添加數(shù)據(jù)

語法: 數(shù)組名.unshift(數(shù)據(jù))

作用: 就是在數(shù)組的頭部添加數(shù)據(jù)

返回值: 就是數(shù)組的長度

 //pop
 var arr = [10, 20, 30, 40]
 res=arr.unshift(99)
 console.log(arr);//[99,10,20,30,40]
 console.log(res);//5

4.shift() 頭部刪除數(shù)據(jù)

語法: 數(shù)組名.shift()

作用: 頭部刪除一個(gè)數(shù)據(jù)

返回值: 就是刪除掉的那個(gè)數(shù)據(jù)

//shift
 var arr = [10, 20, 30, 40]
 res=arr.shift()
 console.log(arr);[20,30,40]
 console.log(res);10

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

語法: 數(shù)組名.reverse()

作用: 就是用來翻轉(zhuǎn)數(shù)組的

返回值: 就是翻轉(zhuǎn)好的數(shù)組

//reverse
var arr = [10, 20, 30, 40]
res=arr.reverse()
console.log(arr);//[40,30,20,10]
console.log(res);//[40,30,20,10]

6.sort() 排序

語法一: 數(shù)組名.sort()                       會(huì)排序 會(huì)按照位排序

語法二: 數(shù)組名.sort(function (a,b) {return a-b})  會(huì)正序排列

語法三: 數(shù)組名.sort(function (a,b) {return b-a})  會(huì)倒序排列

//sort()
var arr = [2, 63, 48, 5, 4, 75, 69, 11, 23]
arr.sort()
console.log(arr);
arr.sort(function(a,b){return(a-b)})
console.log(arr);
arr.sort(function(a,b){return(b-a)})
console.log(arr);

7.splice()  截取數(shù)組

語法一: 數(shù)組名.splice(開始索引,多少個(gè))

作用: 就是用來截取數(shù)組的

返回值: 是一個(gè)新數(shù)組 里面就是你截取出來的數(shù)據(jù)

語法二: 數(shù)組名.splice(開始索引,多少個(gè),你要插入的數(shù)據(jù))

作用: 刪除并插入數(shù)據(jù)

注意: 從你的開始索引起

返回值: 是一個(gè)新數(shù)組 里面就是你截取出來的數(shù)據(jù)

//splice() 語法一
var arr = [2, 63, 48, 5, 4, 75]
res = arr.splice(1,2)
console.log(arr);
console.log(res);
//******************************
//splice() 語法二
var arr = [2, 63, 48, 5, 4, 75]
res = arr.splice(1,1,99999,88888)
console.log(arr);
console.log(res);

二、不改變原數(shù)組的方法

1.concat()  合并數(shù)組

語法: 數(shù)組名.concat(數(shù)據(jù))

作用: 合并數(shù)組的

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

//concat
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.concat(20,"小敏",50)
console.log(arr) 
console.log(res);

2.join() 數(shù)組轉(zhuǎn)字符串

語法:數(shù)組名.join('連接符')

作用: 就是把一個(gè)數(shù)組轉(zhuǎn)成字符串

返回值: 就是轉(zhuǎn)好的一個(gè)字符串

//join
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.join("+")
console.log(arr)
console.log(res);

3.slice()截取數(shù)組的一部分?jǐn)?shù)據(jù)

語法: 數(shù)組名.slice(開始索引,結(jié)束索引)

作用: 就是截取數(shù)組中的一部分?jǐn)?shù)據(jù)

返回值: 就是截取出來的數(shù)據(jù) 放到一個(gè)新的數(shù)組中

注意: 包前不好后 包含開始索引不包含結(jié)束索引

//slice
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.slice(1,4)
console.log(arr)
console.log(res);

4.indexOf 從左檢查數(shù)組中有沒有這個(gè)數(shù)值

語法一:數(shù)組名.indexOf(要查詢的數(shù)據(jù))

作用: 就是檢查這個(gè)數(shù)組中有沒有該數(shù)據(jù)

如果有就返回該數(shù)據(jù)第一次出現(xiàn)的索引

如果沒有返回 -1

語法二:數(shù)組名.indexOf(要查詢的數(shù)據(jù),開始索引)

//indexOf 語法一
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.indexOf(10)
console.log(arr)
console.log(res);
//*************************************
//indexOf  語法二
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.indexOf(10,1)
console.log(arr)
console.log(res);

5.lastIndexOf 從右檢查數(shù)組中有沒有這個(gè)數(shù)值

語法一:數(shù)組名.indexOf(要查詢的數(shù)據(jù))

作用: 就是檢查這個(gè)數(shù)組中有沒有該數(shù)據(jù)

如果有就返回該數(shù)據(jù)第一次出現(xiàn)的索引

如果沒有返回 -1

語法二:數(shù)組名.lastIndexOf(要查詢的數(shù)據(jù),開始索引)

//lastIndexOf 語法一
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.lastIndexOf(50)
console.log(arr) 
console.log(res);
//*************************************
//lastIndexOf 語法二
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.lastIndexOf(50,4)
console.log(arr)
console.log(res);

三、ES6新增的數(shù)組方法

1. forEach()   用來循環(huán)遍歷的 for

語法: 數(shù)組名.forEach(function (item,index,arr) {})

 + item : 這個(gè)表示的是數(shù)組中的每一項(xiàng)

 + index : 這個(gè)表示的是每一項(xiàng)對應(yīng)的索引

 + arr : 這個(gè)表示的是原數(shù)組

作用: 就是用來循環(huán)遍歷數(shù)組的 代替了我們的for

返回值: 沒有返回值 如果真的說要有返回值就是undefined

//forEach
var arr = [1, 2, 3, 4, 5]
console.log('原始數(shù)組 : ', arr);
var res = arr.forEach(function (item, index, arr) {
    console.log(item, "------", index, "-------", arr);
})

2.map  映射數(shù)組的

語法: 數(shù)組名.map(function (item,index,arr) {})

+ item : 這個(gè)表示的是數(shù)組中的每一項(xiàng)

+ index : 這個(gè)表示的是每一項(xiàng)對應(yīng)的索引

+ arr : 這個(gè)表示的是原數(shù)組

作用: 就是用來映射

返回值: 必然是一個(gè)數(shù)組 一個(gè)映射完畢的數(shù)組;這個(gè)數(shù)組合原數(shù)組長度一樣

注意: 要以return的形式執(zhí)行返回條件

//map
var arr = [1, 2, 3, 4, 5]
console.log('原始數(shù)組 : ', arr);
var res = arr.map(function (item) {
    return item*1000
})
console.log(res);

3.filter  過濾數(shù)組

語法: 數(shù)組名.filter(function (item,index,arr) {})

 + item : 這個(gè)表示的是數(shù)組中的每一項(xiàng)

 + index : 這個(gè)表示的是每一項(xiàng)對應(yīng)的索引

 + arr : 這個(gè)表示的是原數(shù)組

作用: 用來過濾數(shù)組的

返回值: 如果有就是過濾(篩選)出來的數(shù)據(jù) 保存在一個(gè)數(shù)組中;如果沒有返回一個(gè)空數(shù)組

注意: 要以return的形式執(zhí)行返回條件

//filter
var arr = [1, 2, 3, 4, 5]
console.log('原始數(shù)組 : ', arr);
var res = arr.filter(function (item) {
    return item > 2
})
console.log(res);

4.every  判斷數(shù)組是不是滿足所有條件

語法: 數(shù)組名.every(function (item,index,arr) {})

+ item : 這個(gè)表示的是數(shù)組中的每一項(xiàng)

+ index : 這個(gè)表示的是每一項(xiàng)對應(yīng)的索引

+ arr : 這個(gè)表示的是原數(shù)組

作用: 主要是用來判斷數(shù)組中是不是 每一個(gè) 都滿足條件

     只有所有的都滿足條件返回的是true

     只要有一個(gè)不滿足返回的就是false

返回值: 是一個(gè)布爾值

注意: 要以return的形式執(zhí)行返回條件

//every
var arr = [1, 2, 3, 4, 5]
console.log('原始數(shù)組 : ', arr);
var res = arr.every(function (item) {
    return item > 0
})
console.log(res);//打印結(jié)果  true

5.some() 數(shù)組中有沒有滿足條件的

語法: 數(shù)組名.some(function (item,index,arr) {})

+ item : 這個(gè)表示的是數(shù)組中的每一項(xiàng)

+ index : 這個(gè)表示的是每一項(xiàng)對應(yīng)的索引

+ arr : 這個(gè)表示的是原數(shù)組

作用: 主要是用來判斷數(shù)組中是不是 每一個(gè) 都滿足條件

     只有有一個(gè)滿足條件返回的是true

     只要都不滿足返回的就是false

返回值: 是一個(gè)布爾值

注意: 要以return的形式執(zhí)行返回條件

//some
var arr = [1, 2, 3, 4, 5]
console.log('原始數(shù)組 : ', arr);
var res = arr.some(function (item) {
    return item > 3
})
console.log(res);//true

6.find()用來獲取數(shù)組中滿足條件的第一個(gè)數(shù)據(jù)

語法: 數(shù)組名.find(function (item,index,arr) {})

+ item : 這個(gè)表示的是數(shù)組中的每一項(xiàng)

+ index : 這個(gè)表示的是每一項(xiàng)對應(yīng)的索引

+ arr : 這個(gè)表示的是原數(shù)組

作用: 用來獲取數(shù)組中滿足條件的數(shù)據(jù)

返回值: 如果有 就是滿足條件的第一個(gè)數(shù)據(jù);如果沒有就是undefined

注意: 要以return的形式執(zhí)行返回條件

//find
var arr = [1, 2, 3, 4, 5]
console.log('原始數(shù)組 : ', arr);
var res = arr.find(function (item) {
    return item > 3
})
console.log(res)//4

7.reduce()疊加后的效果       

語法: 數(shù)組名.reduce(function (prev,item,index,arr) {},初始值)

+ prev :一開始就是初始值 當(dāng)?shù)谝淮斡辛私Y(jié)果以后;這個(gè)值就是第一次的結(jié)果

+ item : 這個(gè)表示的是數(shù)組中的每一項(xiàng)

+ index : 這個(gè)表示的是每一項(xiàng)對應(yīng)的索引

+ arr : 這個(gè)表示的是原數(shù)組

作用: 就是用來疊加的

返回值: 就是疊加后的結(jié)果

注意: 以return的形式書寫返回條件

//reduce
var arr = [1, 2, 3, 4, 5]
var res = arr.reduce(function (prev, item) {
    return prev *= item
}, 1)
console.log(res);//120

總結(jié) 

到此這篇關(guān)于js數(shù)組常用19種方法的文章就介紹到這了,更多相關(guān)js數(shù)組常用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信小程序如何實(shí)現(xiàn)頁面跳轉(zhuǎn)功能詳解

    微信小程序如何實(shí)現(xiàn)頁面跳轉(zhuǎn)功能詳解

    這篇文章主要給大家介紹了關(guān)于微信小程序如何實(shí)現(xiàn)頁面跳轉(zhuǎn)功能的相關(guān)資料,包括頁面跳轉(zhuǎn)的方式、跳轉(zhuǎn)傳參的方法以及頁面返回的操作,通過簡單的代碼示例,幫助讀者快速掌握微信小程序頁面跳轉(zhuǎn)的基本用法,下面需要的朋友可以參考下
    2023-03-03
  • JS實(shí)現(xiàn)點(diǎn)擊按鈕控制Div變寬、增高及調(diào)整背景色的方法

    JS實(shí)現(xiàn)點(diǎn)擊按鈕控制Div變寬、增高及調(diào)整背景色的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)點(diǎn)擊按鈕控制Div變寬、增高及調(diào)整背景色的方法,涉及javascript動(dòng)態(tài)操作頁面元素屬性的相關(guān)技巧,適用于動(dòng)態(tài)更換頁面皮膚的功能,需要的朋友可以參考下
    2015-08-08
  • JS中setInterval、setTimeout不能傳遞帶參數(shù)的函數(shù)的解決方案

    JS中setInterval、setTimeout不能傳遞帶參數(shù)的函數(shù)的解決方案

    在JS中無論是setTimeout還是setInterval,在使用函數(shù)名作為調(diào)用句柄時(shí)都不能帶參數(shù),而在許多場合必須要帶參數(shù),接下來為大家介紹具體的解決方法
    2013-04-04
  • 前端云原生之微信小程序云服務(wù)配置指南

    前端云原生之微信小程序云服務(wù)配置指南

    前端邊界又拓寬,走進(jìn)火熱的云原生云開發(fā)賽道,隨著云原生時(shí)代的到來,各大廠紛紛上云,下面這篇文章主要給大家介紹了關(guān)于前端云原生之微信小程序云服務(wù)配置的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • 解決JS表單驗(yàn)證只有第一個(gè)IF起作用的問題

    解決JS表單驗(yàn)證只有第一個(gè)IF起作用的問題

    這篇文章主要介紹了解決JS表單驗(yàn)證只有第一個(gè)IF起作用的問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12
  • javascript中基本類型和引用類型的區(qū)別分析

    javascript中基本類型和引用類型的區(qū)別分析

    大多數(shù)人系統(tǒng)學(xué)習(xí)過的程序設(shè)計(jì)語言,在這些語言的學(xué)習(xí)過程中最早學(xué)到的幾個(gè)要點(diǎn)之一就是值類型和引用類型的區(qū)別。下面我們來看一下在 JavaScript 中基本數(shù)據(jù)類型(Primitive Types)和引用類型(Reference Types)的區(qū)別。
    2015-05-05
  • js 剪切板應(yīng)用clipboardData詳細(xì)解析

    js 剪切板應(yīng)用clipboardData詳細(xì)解析

    本篇文章主要介紹了js剪切板應(yīng)用clipboardData。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • JS 參數(shù)傳遞的實(shí)際應(yīng)用代碼分析

    JS 參數(shù)傳遞的實(shí)際應(yīng)用代碼分析

    在項(xiàng)目中,有一個(gè)Ajax加載的區(qū)域,是一個(gè)Div標(biāo)簽,id為msg_box,這個(gè)控制鏈接包含在一個(gè)左側(cè)的導(dǎo)航中,當(dāng)從其他頁面鏈接到這個(gè)頁面時(shí),該JS代碼就失效了。
    2009-09-09
  • JavaScript 裝逼指南(js另類寫法)

    JavaScript 裝逼指南(js另類寫法)

    如何寫JavaScript才能逼格更高呢?怎樣才能、讓別人一眼看出你不簡單呢?是否很期待別人在看完你的代碼之后感嘆一句原來還可以這樣寫呢?下面列出一些在JavaScript時(shí)的裝逼技巧,也可說是非常實(shí)用的寫法
    2020-05-05
  • 聊聊JavaScript中.?、??、??=的用法以及含義

    聊聊JavaScript中.?、??、??=的用法以及含義

    今天項(xiàng)目中突然遇到了不太明白的寫法,下面這篇文章主要給大家介紹了關(guān)于JavaScript中.?、??、??=的用法以及含義的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評論