這篇文章要跟大家介紹的內容是關於javascript陣列中常用的API總結,有著一定的參考價值,有需要的朋友可以參考一下。
split()
:分割字串變成陣列(對字串運算)join()
:合併數組變成字串(對數組操作)concat()
:連接兩個數組splice(begin,deleteCount,insert)
:拼接splic(begin,end)
:截取[begin,end)
sort(callball(value1,value2))
:排序resever()
:反序filter(callback(currentValue,index))
:篩選map(callback(currentValue,index))
:遍歷,有回傳值,和forEach
類似forEach(callback(currentValue,index))
:遍歷,沒有傳回值#reduce(callback(array ,currentValue,index)[,array])
:累計處理arguments
:在函數內部使用,將函數的參數變成偽數組(不能用數組的api)
sort
排序:如果value1 <value2
回傳-1
,升序排列;回傳1
,降序排列var arr = [1,5,4,3,2,6,7] arr.sort((value1,value2) => { if(value1 < value2){ return -1 //升序 }else if(value1 > value2){ return 1 //降序 }else{ return 0 } })<h3> <code>filter</code>篩選數組,接受一個回呼函數,回呼函數的參數<code>value</code>、<code>index</code>(可選)、 <code>array</code>(可選)</h3> <pre class="brush:php;toolbar:false">let arr = [1,2,3,4,5,6,7,8,9] arr.filter((value,index) =>{ console.log(index) return value > 5 //筛选条件 })
let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange']; function find(element){ return fruits.filter((e)=>{ return e.indexOf(element) >= -1 //indexOf查到元素,找到返回元素的索引 }) } find('ap') //['apple','grapes']
map
和forEach
之間的差異是:map
有回傳值, forEach
沒有回傳值;要forEach
能回傳值出來,在它內部定義一個變數儲存遍歷的值就可以了。 var a = [1,2,3,4] a.map(e => e*2) //[1,4,6,8] a.forEach(e => e*2) //undefined, return 也不会出来
reduce
接受兩個參數,回呼函數和回呼函數的第一個參數(可選);回呼函數接受四個參數:1、回呼函數的回傳值(處理結果)或reduce
的第二個參數;2、正在處理的元素;3、正在處理元素的索引;4、呼叫reduce
的陣列。 如果reduce
接收第二個參數,那麼回呼函數的第一個參數就是它(如去重,運行邏輯是把待處理數組的每一項處理後在一個個push
進去,是加的過程);如果沒有第二個參數,那麼回呼函數的第一個參數就是待處理數組的第一項(如摧毀數組,運行邏輯就是把待處理數組直接拿過來集中處理,是減的過程)。
//去重:把待处理数组的每一项处理后在一个个`push`进去,是加的过程 var a = [1,2,3,2,4,5,3,1] a.sort().reduce((arr,currentValue) => { if(arr.length === 0 || arr[arr.length-1] !== currentValue){ arr.push(currentValue) } return arr },[]) //[1,2,3,4,5] //摧毁数组:把待处理数组直接拿过来集中处理,是减的过程 function destroyer(arr) { return [].slice.call(arguments).reduce((current,next) =>{ return current.filter((e) => { return e !== next }) }) } destroyer([1, 2, 3, 1, 2, 3], 2, 3); //[1,1]
arguments
雖然不是數組,但可以將它轉換成真正的數組,下面是兩種方法function array(arr){ console.log(arr) //[1,2,3,4,5],注意是一个伪数组,不能用数组的方法 } array(1,2,3,4,5) var args = Array.prototype.slice.call(arguments); var args = [].slice.call(arguments);
相關推薦:
以上是javascript數組常用的API總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!