1.Array.from
Array.from方法用于將兩類對(duì)象轉(zhuǎn)為真正的數(shù)組:
- 類似數(shù)組的對(duì)象(array-like object):要有l(wèi)ength屬性蛹找。
- 可遍歷(iterable)的對(duì)象:具有Symbol.iterator接口(包括ES6新增的數(shù)據(jù)結(jié)構(gòu)Set和Map.可比案例對(duì)象是必須,類數(shù)組是
Array.from可以接受第二個(gè)參數(shù)注盈,對(duì)每個(gè)元素進(jìn)行處理条舔,將處理后的值放入返回的數(shù)組。
Array.from(arrayLike, x => x * x);
// 等同于
Array.from(arrayLike).map(x => x * x);
Array.from([1, 2, 3], (x) => x * x)
// [1, 4, 9]
- Array.from()將字符串轉(zhuǎn)為數(shù)組怨咪,然后返回字符串的長(zhǎng)度屋剑。因?yàn)樗苷_處理各種Unicode字符.
2.Array.of()
Array.of方法用于將一組值,轉(zhuǎn)換為數(shù)組诗眨。
3.array.copywithin()
array.copywithin(target, start = 0, end = this.length)
將指定位置的成員復(fù)制到其他位置(會(huì)覆蓋原有成員)唉匾,然后返回當(dāng)前數(shù)組。會(huì)修改原數(shù)組
4.array.find(callback)
找出第一個(gè)回到函數(shù)返回值為true的元素
callback(value,index匠楚, array)
5.數(shù)組的遍歷
結(jié)合for-of遍歷巍膘,array.entries(), array.keys(), array.values()
6.array.includes()
是否含有參數(shù),含有則返回true
同indexOf相比的優(yōu)勢(shì)芋簿,能夠判斷是否含有NaN
[NaN].indexOf(NaN)// -1
[NaN].includes(NaN)// true
7.array.some(callback) array.every(callback)
使用callback檢查數(shù)組中的元素是否都滿足要求峡懈。
- every()所有元素callback返回true,返回true与斤,有一個(gè)返回false肪康,就返回false
- some()存在元素使callback返回true,就返回true
8.數(shù)組不同方法對(duì)于空位的處理
忽略
- forEach(), filter(), every() 和some()都會(huì)跳過空位幽告。
- map()會(huì)跳過空位梅鹦,但會(huì)保留這個(gè)值
- join()和toString()會(huì)將空位視為undefined,而undefined和null會(huì)被處理成空字符串冗锁。
不能夠忽略
- Array.from方法齐唆,擴(kuò)展運(yùn)算符(...)會(huì)將數(shù)組的空位,轉(zhuǎn)為undefined
- copyWithin()會(huì)連空位一起拷貝
- for...of循環(huán)也會(huì)遍歷空位
- entries()冻河、keys()箍邮、values()茉帅、find()和findIndex()會(huì)將空位處理成undefined