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

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

數(shù)組的創(chuàng)建
幾種創(chuàng)建數(shù)組的方法 1. let a1 = new Array(); 2. let a1 = Array();//與第一種方式等價 3. let a1 = Array.from(obj); //ES6 4. let a1 = Array.of(); //ES61,2兩種方法創(chuàng)建數(shù)組,如果傳入的參數(shù)是數(shù)字,表示新創(chuàng)建的數(shù)組的長度,而不是數(shù)組的元素 。of方法解決1,2兩種方法的歧義,數(shù)字代表的是數(shù)組的元素 。
Array.from方法用于將類數(shù)組結(jié)構(gòu)轉(zhuǎn)換為數(shù)組實例,Array.of方法用于將一組參數(shù)轉(zhuǎn)換為數(shù)組實例 。
Array.from()第一個參數(shù)是一個可迭代的類數(shù)組對象,或者有一個length屬性的可索引元素結(jié)構(gòu) 。
Array.from("Polo"); //['P', 'o', 'l', 'o']const m = new Map().set(1,2).set(3,4);const s = new Set().add(1).add(2).add(3).add(4);Array.from(m); //[[1,2],[3,4]]Array.from(s); //[1,2,3,4]Array.from()可接收第二個可選映射函數(shù)參數(shù),這個函數(shù)可以直接增強新數(shù)組的值,也就是說可以對第一個參數(shù)里的值做處理,新建數(shù)組的值為經(jīng)過第二個參數(shù)函數(shù)加工的值 。
const a2 = Array.from([1,2,3,4], x => x * 2); //[2,4,6,8]Array.from()還可以接收第三個可選參數(shù),用于指定映射函數(shù)中this的值,但這個重寫的this值在箭頭函數(shù)中不適用 。
const a3 = Array.from([1,2,3,4],function(x){return x**this.exponent},{exponent:2}); //[1,4,9,16]數(shù)組length屬性
數(shù)組的length屬性不是只讀的,通過修改length屬性,可以從數(shù)組末尾刪除或添加元素 。
let colors = ['red', 'blue', 'green'];colors.length=4;//數(shù)組末尾增加一個元素,值為undefinedcolors[99] = 'black';//數(shù)組長度變?yōu)?00,3-98位置的元素值為undefined檢查是否為數(shù)組
ES6之前的版本,檢查數(shù)組用各類方式,各有各的道理,也有各自的問題 。ES6提供了Array.isArray方法,確定一個值是否為數(shù)組 。
if (Array.isArray(value)) {//操作數(shù)組}數(shù)組迭代方法
1. keys() //返回數(shù)組索引的迭代器2. values() //返回數(shù)組元素的迭代器3. entries() //返回索引/值對的迭代器4. for(const [index,element] of a.entries()) //ES6解構(gòu)語法在循環(huán)中拆分鍵值對復(fù)制和填充
Array.copyWithin(): 按照指定范圍淺復(fù)制數(shù)組中的部分內(nèi)容,然后將他們插入到指定索引開始的位置 。第1個參數(shù)表示插入位置的索引,第2個可選參數(shù)表示開始復(fù)制的索引位置 。
let ints;reset = () => ints = [0,1,2,3,4,5,6,7,8,9];reset();ints.copyWithin(5); //[0,1,2,3,4,0,1,2,3,4]reset();ints.copyWithin(0,5); [5,6,7,8,9,5,6,7,8,9]reset();ints.copyWithin(4,0,3); //[0,1,2,3,0,1,2,7,8,9]Array.fill():第1個參數(shù),表示用于填充的元素,第2個可選參數(shù),表示填充的開始位置,第3個可選參數(shù),表示填充的結(jié)束位置 。fill()靜默忽略超出數(shù)組邊界,零長度及方向相反的索引范圍 。
【js給數(shù)組對象添加一個對象 js往數(shù)組中添加元素添加方法】const zeroes = [0, 0, 0, 0, 0];zeroes.fill(5); //[5,5,5,5,5];zeroes.fill(0);zeroes.fill(7,3); //[0,0,0,7,7]zeroes.fill(0);zeroes.fill(7,1,3); //[0,7,7,0,0]數(shù)組排序方法
reverse(): 將數(shù)組元素反向排列
sort():按升序排列數(shù)組元素,sort()會在每一項上調(diào)用String()轉(zhuǎn)型函數(shù),然后比較字符串來決定順序 。sort()方法可以接收一個比較函數(shù) 。用于判斷哪個值應(yīng)該排在前面 。
let values = [0,1,5,10,15];values.reverse(); //[15,10,5,1,0]values.sort(); //[0,1,10,15,5]values.sort((x,y) => x - y); //[0,1,5,10,15]迭代方法
every():對數(shù)組每一項都運行傳入的函數(shù),如果每一項都返回true,則這個方法返回true 。
some():對數(shù)組每一項都運行傳入的函數(shù),如果有一項函數(shù)返回true,則這個方法返回true 。

推薦閱讀