Javascript數(shù)組常用方法你都知道嗎
我用這些方法主要從五個方面去學習。
1.方法是干什么的。
2.誰能用 (當然是數(shù)組啦)。
3.有沒有返回值,返回值是什么。
4.修不修改原來的對象。
5.如何使用。
接下來就是干貨了。
1.push 向數(shù)組內(nèi)添加一個或多個元素,添加到數(shù)組的最后面,方法返回值是新數(shù)組的長度。
arr.push(200) arr.push(200,2,32)
2.pop 刪除數(shù)組末尾的一個元素,不需要傳參,方法返回值是被刪除的元素 。
arr.pop()
3.unshift 向數(shù)組中添加一個或多個元素,添加到最前面,返回值是新數(shù)組的長度。
arr.unshift(1)arr.unshift(1,2)arr.unshift(1) arr.unshift(1,2)
4.shift 刪除數(shù)組最前面的一個元素 返回值是被刪除的元素。
arr.shift()
5. concat 拼接兩個數(shù)組,返回拼接后的數(shù)組,原數(shù)組不變。
let arr1 = [1,2] let arr2 = [2,3] arr1.concat(arr2) console.log(arr1); // [1,2] console.log(arr1.concat(arr2)); // [1,2,2,3]
6. reverse 數(shù)組顛倒,返回顛倒后的數(shù)組,原數(shù)組改變。
arr.reverse()
7.slice 數(shù)組的截取,包括開頭,不包括結(jié)尾,返回截取后的數(shù)組,原數(shù)組不變。
let arr = [1,2,3,4,5,6] // 填兩個參數(shù) a,b 從a截取到b 不包括b // 填一個參數(shù) a 從a截取到末尾 // 不填參數(shù) 從0截取到最后 //截取arr 里面的 3-5 也就是數(shù)組下標2-4 但是第二個參數(shù)不包括 所以就是 2-5 arr.slice(2,5)
8.splice 數(shù)組的添加或者刪除,返回被刪除的元素組成的數(shù)組,原數(shù)組改變。
//用法 splice(a,b,c) //a 表示添加或者刪除的開始的下標 //b 表示刪除的個數(shù) 不想刪除只想添加 b寫成0 //c 表示添加的元素 添加的元素可以是多個 c,d,e 不添加就不用寫c var arr = [1,2,3,4,5,6] // 把4刪除 換成10 arr.splice(3,1,10)
9.join 將數(shù)組內(nèi)的所有元素以某個值進行字符串拼接,默認是以 , 拼接。返回值是拼接的字符串,原數(shù)組不變。
let arr = [1,2,3,4,5,6] arr.join() arr.join('-')
10.indexOf 檢測數(shù)組中是否存在某個元素 ,存在的話返回第一次找到的下標,不存在返回 -1,原數(shù)組不變。
let arr = [1,2,3,4,5,6] let ind = arr.indexOf(5)
11.lastIndexOf 和 indexOf用法一樣,從數(shù)組后面開始找。
12.includes 檢測數(shù)組中是否存在某個元素 存在返回 true 不出在返回false 用法和indexOf一樣。
13.sort 對數(shù)組進行排序,返回排序后的數(shù)組,原數(shù)組改變。
// 漢字看筆畫 英文字母看因為字母順序 // 默認排序是按照首字符的順序開始排序的 let arr = [2,3,5,4,9,6] arr.sort() //sort可以寫函數(shù) // a,b 代表的就是數(shù)組中相鄰的兩個數(shù) // 從小到大排 arr.sort(function(a,b){ return a - b })
14.every 檢測數(shù)組內(nèi)的所有元素是否滿足某個條件, 有一個必須參數(shù),返回值是布爾值。
let arr = [100,15,50,110] let myarr = arr.every(function(el){ return el>14 }) console.log(myarr) //true
15.some 檢測數(shù)組內(nèi)是否有元素滿足某個條件,有一個必須參數(shù),返回值是布爾值。
var arr = [100,15,50,110] var myarr1 = arr.some(function(el){ return el>100 }) console.log(myarr1) //true
16.find 返回數(shù)組中匹配的 第一個元素 的值,沒有返回 undefined,有一個必須參數(shù)。
var arr = [100,15,50,110] var myarr2 = arr.find(function(el){ return el > 10 }) console.log(myarr2) // 100
17.findIndex 方法同find 返回值是對應(yīng)的索引值。
18.filter 返回符合條件的元素形成一個新數(shù)組 ,返回值是一個數(shù)組
var arr = [100,15,8,50,110] var myarr3 = arr.filter(function(el){ return el<18 }) console.log(myarr3) //[15,8]
19.map 創(chuàng)建一個數(shù)組,該數(shù)組中每個元素是調(diào)用過函數(shù)之后返回的值。
var arr = [100,15,8,50,110] var arr5 = arr.map(function(el){ return el*1+5 }) console.log(arr5); //[105, 20, 13, 55, 115]
20.reduce 用這個方法可以實現(xiàn)以上的所有方法 比如數(shù)組內(nèi)數(shù)累加,返回值是單個數(shù)
// reduce(函數(shù),最終結(jié)果的初始值) // 每次遍歷的函數(shù),有四個參,每次查詢數(shù)組的元素時執(zhí)行的函數(shù) // function(res,ele,index,array) // res 結(jié)果變量 // ele 數(shù)組內(nèi)元素 // index 對應(yīng)的索引 // array 原數(shù)組 // 必須設(shè)置返回值,上一次返回的值是res的值,最后返回值是最終結(jié)果,也是reduce函數(shù)的返回值。 let arr = [100,15,8,50,110] // res 是自己創(chuàng)的累加器 ele是當前值 let total = arr.reduce(function(res,ele){ return res + ele },0)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
JS實現(xiàn)根據(jù)數(shù)組對象的某一屬性排序操作示例
這篇文章主要介紹了JS實現(xiàn)根據(jù)數(shù)組對象的某一屬性排序操作,涉及javascript針對json數(shù)組的遍歷、比較、排序等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01javascript 獲取url參數(shù)和script標簽中獲取url參數(shù)函數(shù)代碼
不要在方法中調(diào)用方法,否則可能始終獲取的是最后一個js的文件的參數(shù),要在方法中使用,請先用變量保存,在方法中直接獲取2010-01-01