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