摘要:為什么要對(duì)方法進(jìn)行歸類解析因?yàn)樗S?,而且面試必?wèn)改變?cè)瓟?shù)組的方法刪除并返回?cái)?shù)組最后一個(gè)元素從末尾給數(shù)組添加元素,返回新數(shù)組值顛倒數(shù)組元素,返回顛倒后的數(shù)組刪除并返回第一個(gè)元素值數(shù)組排序刪除指定位置開始指定長(zhǎng)度的元素,返回被刪除的項(xiàng)目。
為什么要對(duì)Array方法進(jìn)行歸類解析
因?yàn)樗S?,而且面試必?wèn)
改變?cè)瓟?shù)組的方法pop 刪除并返回?cái)?shù)組最后一個(gè)元素不改變?cè)瓟?shù)組
push 從末尾給數(shù)組添加元素,返回新數(shù)組length值
reverse 顛倒數(shù)組元素,返回顛倒后的數(shù)組
shift 刪除并返回第一個(gè)元素值
sort 數(shù)組排序
splice 刪除指定位置開始指定長(zhǎng)度的元素,返回被刪除的項(xiàng)目。
unshift 向數(shù)組開頭添加多個(gè)元素,返回新數(shù)組長(zhǎng)度
concat 返回合并后數(shù)組的副本如何循環(huán)一次刪除多個(gè)元素并改變數(shù)組長(zhǎng)度
join 返回一個(gè)通過(guò)連接符連接數(shù)組元素的字符串
slice 返回選中元素的新數(shù)組
toString 返回字符串等同于join()
for (var i = arr.length - 1; i >= 0; i--){ if(arr[i] === 1){ arr.splice(i,1) } }操作Array元素的callback的方法集合
forEach、map、filter、every、some、reduce、reduceRight
forEach對(duì)元素上執(zhí)行callback的操作
var a = ["1", 20, 30]; a.forEach((item, index, a)=>{ ++item }) // 不會(huì)改變a值 a.forEach((item, index)=>{ a[index] = ++item }) // 改變a值
map對(duì)元素callback并返回一個(gè)由callback返回值組成的新數(shù)組
var a = ["1", 20, 30]; var b = a.map((item, index, a)=>{ return ++item // 如果沒(méi)有return會(huì)輸出undefined }) // [2,22,32]
filter返回元素callback返回值為true的元素組成的新數(shù)組
var a = ["1", 20, 30]; console.log(a.filter((item)=>{ return typeof item === "string" })) //["1"]
every當(dāng)所有元素的callback都返回true時(shí),值為true。用于判斷所有元素是否符合某一條件
var a = ["1", 20, 30]; console.log(a.every((item)=>{ return typeof item === "string" })) // false
some只要其中一個(gè)元素callback返回true,值為true。用于判斷某一個(gè)元素符合單一條件的情況
var a = ["1", 20, 30]; console.log(a.some((item)=>{ return typeof item === "string" })) // true
reduce和reduceRight是數(shù)組元素兩兩按照callback的邏輯進(jìn)行遞歸處理。返回處理完以后的結(jié)果。
var a = ["1", 20, 30]; var total = a.reduce(function(first, second) { return first + second; }, 2); console.log(total) // 212030(((第二個(gè)參數(shù)2+"1")+20)+30) var total = a.reduceRight(function(first, second) { return first + second; }, 2); console.log(total) // 521(((第二個(gè)參數(shù)2+30)+20)+"1")如何循環(huán)刪除多個(gè)元素,數(shù)組長(zhǎng)度不變
for (let i = 0; i < arr.length; i++){ if(arr[i] === 1){ delete arr[i] } } // 刪除對(duì)應(yīng)元素后,對(duì)應(yīng)元素被置換為undefined,但是對(duì)應(yīng)的i值(i in arr為false),直接復(fù)制arr[i]=undefined時(shí)i in arr 為 trueES6 數(shù)組去重
let arr = [1,2,3,1,2,3,4] let set = new Set(arr) arr = [...set]數(shù)組的一些擴(kuò)展方法
Array.from(),Array.of(),Array.prototype.copyWithin(),includes()參考文獻(xiàn)
Array的擴(kuò)展方法
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93018.html
摘要:為什么要對(duì)方法進(jìn)行歸類解析因?yàn)樗S茫颐嬖嚤貑?wèn)改變?cè)瓟?shù)組的方法刪除并返回?cái)?shù)組最后一個(gè)元素從末尾給數(shù)組添加元素,返回新數(shù)組值顛倒數(shù)組元素,返回顛倒后的數(shù)組刪除并返回第一個(gè)元素值數(shù)組排序刪除指定位置開始指定長(zhǎng)度的元素,返回被刪除的項(xiàng)目。 為什么要對(duì)Array方法進(jìn)行歸類解析 因?yàn)樗S?,而且面試必?wèn) 改變?cè)瓟?shù)組的方法 pop 刪除并返回?cái)?shù)組最后一個(gè)元素push 從末尾給數(shù)組添加元素,返...
摘要:對(duì)于此處的類型都是實(shí)例后的對(duì)象,并不會(huì)深入識(shí)別他們的構(gòu)造函數(shù)這里不是數(shù)據(jù)類型。通過(guò)上面的判斷,我們知道它并不能滿足一些內(nèi)置構(gòu)造函數(shù)創(chuàng)建的偽類型。 在我的第一篇文章里,介紹過(guò)JS各大類型并使用typeof進(jìn)行輸出查看.也有提到過(guò)每個(gè)函數(shù)都有一個(gè)自己的內(nèi)部屬性[[class]],這個(gè)class指的是js內(nèi)部分類.這個(gè)類的大致包括:數(shù)據(jù)類型和構(gòu)造函數(shù)這兩種。 JavaScript類型介紹 ...
摘要:之前自己寫代碼,就像一盤散沙,完全沒(méi)有一種規(guī)范。經(jīng)過(guò)最近一段時(shí)間的開發(fā),和對(duì)一些注釋風(fēng)格的參考,形成了自己想去使用的注釋規(guī)范。如果變量注釋有點(diǎn)長(zhǎng),就不太好了。 之前自己寫代碼,就像一盤散沙,完全沒(méi)有一種規(guī)范。這種自由,會(huì)讓自己寫的東西時(shí)常變化。也很不利于團(tuán)隊(duì)協(xié)作開發(fā)。經(jīng)過(guò)最近一段時(shí)間的開發(fā),和對(duì)一些注釋風(fēng)格的參考,形成了自己想去使用的注釋規(guī)范。 js的組織是模塊化,一個(gè)模塊對(duì)...
摘要:表單元素從到表單相關(guān)的元素已經(jīng)得到了很大的擴(kuò)充基本能夠滿足我們常見(jiàn)的需求。但在此之前清楚的了解并掌握各種表單元素還是很重要的。在本文中我們將對(duì)表單元素默認(rèn)是指表單元素進(jìn)行詳細(xì)的闡述。 表單元素 從 HTML 到 HTML5, 表單相關(guān)的元素已經(jīng)得到了很大的擴(kuò)充, 基本能夠滿足我們常見(jiàn)的需求。但在實(shí)際工作中, 因?yàn)榻换セ蛘邽g覽器兼容的需要, 有時(shí)候不得不對(duì)原生的表單元素進(jìn)行擴(kuò)展或者模擬。...
閱讀 2001·2021-11-19 09:40
閱讀 1960·2021-09-28 09:36
閱讀 2291·2021-09-22 10:02
閱讀 2733·2019-08-30 14:00
閱讀 1962·2019-08-29 15:31
閱讀 2904·2019-08-29 15:11
閱讀 2915·2019-08-29 13:04
閱讀 1088·2019-08-27 10:55