摘要:,也不會出來接受兩個參數(shù),回調函數(shù)和回調函數(shù)的第一個參數(shù)可選回調函數(shù)接受四個參數(shù)回調函數(shù)的返回值處理結果或者的第二個參數(shù)正在處理的元素正在處理元素的索引調用的數(shù)組。
數(shù)組常用 api 介紹
split():拆分字符串變成數(shù)組(對字符串操作)
join() :合并數(shù)組變成字符串(對數(shù)組操作)
concat():連接兩數(shù)組
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:在函數(shù)內部使用,將函數(shù)的參數(shù)變成偽數(shù)組(不能用數(shù)組的 api)
[].indexOf.call(偽數(shù)組,偽數(shù)組內的元素):找到對應偽數(shù)組內的元素的下標
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 } })filter篩選數(shù)組,接受一個回調函數(shù),回調函數(shù)的參數(shù)value、index(可選)、array(可選)
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之間的區(qū)別是: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接受兩個參數(shù),回調函數(shù)和回調函數(shù)的第一個參數(shù)(可選);回調函數(shù)接受四個參數(shù):1、回調函數(shù)的返回值(處理結果)或者reduce的第二個參數(shù);2、正在處理的元素;3、正在處理元素的索引;4、調用reduce的數(shù)組。
如果reduce接收第二個參數(shù),那么回調函數(shù)的第一個參數(shù)就是它(如去重,運行邏輯是把待處理數(shù)組的每一項處理后在一個個push進去,是加的過程);如果沒有第二個參數(shù),那么回調函數(shù)的第一個參數(shù)就是待處理數(shù)組的第一項(如摧毀數(shù)組,運行邏輯是把待處理數(shù)組直接拿過來集中處理,是減的過程)。
//去重:把待處理數(shù)組的每一項處理后在一個個`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] //摧毀數(shù)組:把待處理數(shù)組直接拿過來集中處理,是減的過程 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雖然不是數(shù)組,但可以將它轉變成真正的數(shù)組,下面是兩種方法
function array(arr){ console.log(arr) //[1,2,3,4,5],注意是一個偽數(shù)組,不能用數(shù)組的方法 } array(1,2,3,4,5) var args = Array.prototype.slice.call(arguments); var args = [].slice.call(arguments);
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/110152.html
摘要:數(shù)組遍歷所有元素參數(shù)順序規(guī)定遍歷數(shù)組所有元素判斷所有元素是否都符合條件注意參數(shù)順序用來判斷所有的數(shù)組元素都滿足一個條件都符合,否則判斷是否至少有一個元素符合條件注意參數(shù)順序用來判斷所有的數(shù)組元素只要有一個滿足條件即可排序從小到大排序從大 1.數(shù)組API (1) forEach 遍歷所有元素 var arr = [1,2,3] arr.forEach(function( i...
摘要:為開始截取的索引可為負值,為結束的索引可選向從目標數(shù)組中添加刪除項目,然后返回被刪除的項目。返回累加之后的結果上一次調用回調返回的值,或者是提供的初始值數(shù)組中當前被處理的數(shù)組項當前數(shù)組項在數(shù)組中的索引值調用方法的數(shù)組幫助記憶增刪查改 增 arr.push(); // 目標數(shù)組尾部添加,返回新數(shù)組長度 arr.unshift(); // 目標數(shù)組首部添加,返回新數(shù)組...
摘要:刪除數(shù)組的第一項,并返回刪除元素的值刪除原數(shù)組的最后一項,并返回刪除元素的值向數(shù)組頭部追加,返回數(shù)組長度將參數(shù)添加到數(shù)組尾部,返回數(shù)組長度返回一個新數(shù)組,是將參數(shù)添加到原數(shù)組中構成的從位置開始刪除項,并從該位置起插入返回被刪除的內容截取字符 shift:刪除數(shù)組的第一項,并返回刪除元素的值 var arr1 = [1,2,3,4,5]; var b = arr1.shift(); co...
摘要:數(shù)組改變數(shù)組的不改變原數(shù)組返回新數(shù)組沒有毛線一數(shù)組字符串將數(shù)組轉成字符串可自定義分隔符沒有毛線將數(shù)組轉成字符串并分隔每個元素沒有毛線沒有毛線拍照返回字符串沒有毛線二數(shù)組元素添加向數(shù)組尾部添加元素改變了數(shù)組添加一個沒有毛線添加一個向數(shù)組頭部添 數(shù)組api 改變數(shù)組的 push、pop、unshift、shift,sort、reverse、splice不改變原數(shù)組 返回新數(shù)組 concat...
摘要:中文文檔目前我只找到了版本,現(xiàn)在已經(jīng)更新到了,好多文檔已經(jīng)過期。而且中太多,有時候常用的幾個我總是記不住名字,在這里貼出來,方便自己和大家。原生用法直接使用的根據(jù)條件去除某個元素。 lodash中文文檔目前我只找到了3.10.x版本,現(xiàn)在lodash已經(jīng)更新到4.17.x了,好多文檔已經(jīng)過期。而且lodash中api太多,有時候常用的幾個我總是記不住名字,在這里貼出來,方便自己和大家。...
閱讀 4524·2022-09-16 13:49
閱讀 1468·2021-11-22 15:12
閱讀 1590·2021-09-09 09:33
閱讀 1108·2019-08-30 13:15
閱讀 1802·2019-08-29 15:30
閱讀 746·2019-08-27 10:52
閱讀 2696·2019-08-26 17:41
閱讀 1961·2019-08-26 12:11