1.擴(kuò)展運(yùn)算符…
ES6——擴(kuò)展運(yùn)算符…
2.Array.from()
將兩類對(duì)象轉(zhuǎn)為真正的數(shù)組:類數(shù)組(querrySelectAll)和可遍歷(iterable)的對(duì)象(包括 ES6 新增的數(shù)據(jù)結(jié)構(gòu) Set 和 Map)
類數(shù)組
1.賦給length屬性的對(duì)象
let k={ 0:'a', 1:'b', length:2 } console.log(Array.from(k));
2.字符串也有l(wèi)ength屬性,它也是類數(shù)組
let str='hello'; console.log(Array.from(str));
3.參數(shù)如果是真正的數(shù)組 則返回一個(gè)全新數(shù)組
let s1=[1,2,3]; let s2=Array.from(s1); console.log(s2==s1);
3.Array.of()
將一組值,轉(zhuǎn)換為數(shù)組
Array.of(3, 11, 8) Array.of(3) Array.of(3).length
這個(gè)方法的主要目的,是彌補(bǔ)數(shù)組構(gòu)造函數(shù)Array()的不足。因?yàn)閰?shù)個(gè)數(shù)的不同,會(huì)導(dǎo)致Array()的行為有差異。
只有當(dāng)參數(shù)個(gè)數(shù)不少于 2 個(gè)時(shí),Array()才會(huì)返回由參數(shù)組成的新數(shù)組
Array() Array(3) Array(3, 11, 8)
4.find() 和 findIndex()
find方法,用于找出第一個(gè)符合條件的數(shù)組成員
var result1=[1,2,3,4].find(function (item) { return item%2==0; }) console.log(result1);
findIndex方法,返回第一個(gè)符合條件的數(shù)組成員的位置。
如果所有成員都不符合條件,則返回-1
var result1=[1,2,3,4].findIndex(function (item) { return item%2==0; }) console.log(result1);
5.fill() 填充數(shù)組
使用給定值,填充一個(gè)數(shù)組
console.log(new Array(5).fill('a'));
fill方法還可以接受第二個(gè)和第三個(gè)參數(shù),用于指定填充的起始位置和結(jié)束位置。
['a', 'b', 'c'].fill(7, 1, 2)
6.數(shù)組實(shí)例的 entries(),keys() 和 values()
Set,Map,Object中都有這些方法
entries(),keys()和values()——用于遍歷數(shù)組。
它們都返回一個(gè)遍歷器對(duì)象,可以用for…of循環(huán)進(jìn)行遍歷
唯一的區(qū)別是keys()是對(duì)鍵名的遍歷、values()是對(duì)鍵值的遍歷,entries()是對(duì)鍵值對(duì)的遍歷。
let yes=[1,2,3,4]; console.log(yes.keys()); console.log(yes.values()); console.log(yes.entries());
let yes=[1,2,3,4]; for(let key of yes.keys()){ console.log(key); } for(let key of yes.values()){ console.log(key); } for(let [key,value] of yes.entries()){ console.log(key,value); }
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
7.includes()
console.log([1, 2, 3].includes(1)); console.log([1, 2, 3].includes(1,1));
8.flat()
將嵌套的數(shù)組“拉平”,變成一維的數(shù)組。
該方法返回一個(gè)新數(shù)組,對(duì)原數(shù)據(jù)沒有影響
console.log([1, 2, [3, 4]].flat()); console.log([1, 2, [3, [4, 5]]].flat(2)); console.log([1, 2, [3, 4, [5, 6, [7, 8]]]].flat(Infinity));
9.reduce()
reduce() 方法接收一個(gè)函數(shù)作為累加器,數(shù)組中的每個(gè)值(從左到右)開始縮減,最終計(jì)算為一個(gè)值。對(duì)空數(shù)組是不會(huì)執(zhí)行回調(diào)函數(shù)的。
1.計(jì)算數(shù)組總和
var num = [1,2,3,4,5]; var res = num.reduce(function(total,num){ return total+num; },0); console.log(res);
2.合并二維數(shù)組
var red = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) { return a.concat(b); }, []); console.log(red);
3.統(tǒng)計(jì)一個(gè)數(shù)組中有多少個(gè)不重復(fù)的單詞
reduce()函數(shù)
藍(lán)藍(lán)設(shè)計(jì)建立了UI設(shè)計(jì)分享群,每天會(huì)分享國(guó)內(nèi)外的一些優(yōu)秀設(shè)計(jì),如果有興趣的話,可以進(jìn)入一起成長(zhǎng)學(xué)習(xí),請(qǐng)掃碼藍(lán)小助,報(bào)下信息,藍(lán)小助會(huì)請(qǐng)您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請(qǐng)與我們聯(lián)系。
分享此文一切功德,皆悉回向給文章原作者及眾讀者.
轉(zhuǎn)自:csdn
免責(zé)聲明:藍(lán)藍(lán)設(shè)計(jì)尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請(qǐng)及時(shí)與我們?nèi)〉寐?lián)系,我們立即更正或刪除。
藍(lán)藍(lán)設(shè)計(jì)( m.ssll180.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)