日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

js給數(shù)組對象添加一個對象 js往數(shù)組中添加元素添加方法( 二 )


filter():對數(shù)組每一項都運行傳入的函數(shù),函數(shù)返回true的項會組成之后的返回 。
map(): 對數(shù)組每一項都運行輸入的函數(shù),返回由每次函數(shù)調(diào)用的結(jié)果構(gòu)成的數(shù)組 。
forEach():對數(shù)組每一項都運行傳入的函數(shù),沒有返回值 。
let numbers = [1,2,3,4,5,6];numbers.filter((item,index,array) => item > 2); //[3,4,5,6]numbers.map((item,index,array) => item * 2); //[2,4,6,8,10,12]numbers.forEach((item,index,array) => {//執(zhí)行某些操作});歸并方法
reduce():從數(shù)組第一項開始遍歷到最后一項 。
reduceRight():從最后一項開始遍歷至第一項 。
let values = [1,2,3,4,5];let sum = values.reduce((prev,cur,index,array) => prev +cur); //15數(shù)組其他方法
concat(): 在現(xiàn)有數(shù)組全部元素基礎(chǔ)上創(chuàng)建一個新數(shù)組 。
slice():創(chuàng)建一個包含原有數(shù)組中一個或多個元素的新數(shù)組 。
splice():在數(shù)組中插入(刪除、替換)元素 。第1個參數(shù),操作的位置,第2個參數(shù),要刪除的元素個數(shù),后面的n個參數(shù),插入到數(shù)組中的元素 。
indexOf():查找元素所在的索引位置 。
lastIndexOf(): 和indexOf方法類似,區(qū)別是從后往前找 。
includes():判斷是否包含元素 。
let color = ['red','green','blue'];let color2 = colors.concat('yellow',['black','brown']);//['red','green','blue','yellow','black','brown']let color3 = colors.slice(1); //['green','blue']let color3 = colors.slice(1,2); //['green']let removed = colors.splice(0,1); // removed = red; colors = ['green','blue']colors.splice(1,0,'yellow','orange'); //在第一個位置插入兩個元素 ['green',blue','yellow','orange']let numbers = [1,2,3,4,5,6,7,8,9];numbers.indexOf(4);//3numbers.includes(5);//trueMap:ES6新增的集合類型,可以給Map構(gòu)造函數(shù)傳入一個可迭代對象,需要包含鍵/值對數(shù)組 。Map可以使用任何javascript數(shù)據(jù)類型作為鍵 。map的值類型也是沒有限制的 。Map實例會維護鍵值對的插入順序,可以根據(jù)插入順序執(zhí)行迭代操作 。
API:
has(key) :判斷鍵是否存在 。
set(key,value):設(shè)置鍵值對 。
get(key):根據(jù)key獲取對應的值 。
delete(key):刪除鍵值對 。
clear():清除這個map 。
size屬性:獲取map的長度 。
Map與Object比較:
內(nèi)存占用:不同瀏覽器情況不同,但給定固定大小的內(nèi)存,Map可以存更多的鍵值對
插入性能:插入Map一般會稍快 。
查找速度:如果只包含少量鍵值對,Object速度更快,如果代碼涉及大量查找操作,某些情況下選Object可能更好
刪除速度:Map的delete()操作性能更優(yōu)
綜上所述,一般情況下使用Map代替Object做鍵值操作是更明智的選擇 。
WeakMap:與Map類似的數(shù)據(jù) 結(jié)構(gòu),主要應對垃圾回收優(yōu)化操作,它不會阻止垃圾回收操作 。WeakMap不可迭代鍵,也不能clear()整個數(shù)據(jù) 。它非常適合保存關(guān)聯(lián)元數(shù)據(jù),比如dom樹種的一個元素,作為WeakMap的key,當dom元素被刪除是,WeakMap對應的值被銷毀 。如果把dom元素做為Map的key,則不會釋放dom元素,造成內(nèi)存浪費 。這是WeakMap中Weak的正解 。
Set:集合,存儲不重復的值 。Set會維護插入是的順序,因此支持順序迭代 。
API:
add():增加值 。
has():判斷是否包含值 。
delete():刪除值
size屬性:Set長度

推薦閱讀