摘要:,也不會出來接受兩個參數,回調函數和回調函數的第一個參數可選回調函數接受四個參數回調函數的返回值處理結果或者的第二個參數正在處理的元素正在處理元素的索引調用的數組。
數組常用 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)
[].indexOf.call(偽數組,偽數組內的元素):找到對應偽數組內的元素的下標
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篩選數組,接受一個回調函數,回調函數的參數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之間的區別是: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);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110152.html
摘要:數組遍歷所有元素參數順序規定遍歷數組所有元素判斷所有元素是否都符合條件注意參數順序用來判斷所有的數組元素都滿足一個條件都符合,否則判斷是否至少有一個元素符合條件注意參數順序用來判斷所有的數組元素只要有一個滿足條件即可排序從小到大排序從大 1.數組API (1) forEach 遍歷所有元素 var arr = [1,2,3] arr.forEach(function( i...
摘要:為開始截取的索引可為負值,為結束的索引可選向從目標數組中添加刪除項目,然后返回被刪除的項目。返回累加之后的結果上一次調用回調返回的值,或者是提供的初始值數組中當前被處理的數組項當前數組項在數組中的索引值調用方法的數組幫助記憶增刪查改 增 arr.push(); // 目標數組尾部添加,返回新數組長度 arr.unshift(); // 目標數組首部添加,返回新數組...
摘要:刪除數組的第一項,并返回刪除元素的值刪除原數組的最后一項,并返回刪除元素的值向數組頭部追加,返回數組長度將參數添加到數組尾部,返回數組長度返回一個新數組,是將參數添加到原數組中構成的從位置開始刪除項,并從該位置起插入返回被刪除的內容截取字符 shift:刪除數組的第一項,并返回刪除元素的值 var arr1 = [1,2,3,4,5]; var b = arr1.shift(); co...
摘要:數組改變數組的不改變原數組返回新數組沒有毛線一數組字符串將數組轉成字符串可自定義分隔符沒有毛線將數組轉成字符串并分隔每個元素沒有毛線沒有毛線拍照返回字符串沒有毛線二數組元素添加向數組尾部添加元素改變了數組添加一個沒有毛線添加一個向數組頭部添 數組api 改變數組的 push、pop、unshift、shift,sort、reverse、splice不改變原數組 返回新數組 concat...
摘要:中文文檔目前我只找到了版本,現在已經更新到了,好多文檔已經過期。而且中太多,有時候常用的幾個我總是記不住名字,在這里貼出來,方便自己和大家。原生用法直接使用的根據條件去除某個元素。 lodash中文文檔目前我只找到了3.10.x版本,現在lodash已經更新到4.17.x了,好多文檔已經過期。而且lodash中api太多,有時候常用的幾個我總是記不住名字,在這里貼出來,方便自己和大家。...
閱讀 4122·2022-09-16 13:49
閱讀 1398·2021-11-22 15:12
閱讀 1519·2021-09-09 09:33
閱讀 1039·2019-08-30 13:15
閱讀 1720·2019-08-29 15:30
閱讀 654·2019-08-27 10:52
閱讀 2643·2019-08-26 17:41
閱讀 1896·2019-08-26 12:11