摘要:語法用于函數(shù)調(diào)用用于數(shù)組字面量函數(shù)傳參目前為止我們都是使用方法來將一個(gè)數(shù)組展開成多個(gè)參數(shù)使用的展開運(yùn)算符可以這么寫選擇性傳參還可以同時(shí)展開多個(gè)數(shù)組數(shù)據(jù)解構(gòu)析構(gòu)數(shù)組數(shù)據(jù)構(gòu)造兩個(gè)對(duì)象連接返回新的對(duì)象兩個(gè)數(shù)組連接返回新的數(shù)組在中間插入數(shù)組在尾部
語法
用于函數(shù)調(diào)用
myFunction(...iterableObj);
用于數(shù)組字面量
[...iterableObj, 4, 5, 6]函數(shù)傳參
目前為止,我們都是使用Function.prototype.apply方法來將一個(gè)數(shù)組展開成多個(gè)參數(shù):
function myFunction(x, y, z) { } var args = [0, 1, 2]; myFunction.apply(null, args);
使用es6的展開運(yùn)算符可以這么寫:
function myFunction(x, y, z) { } var args = [0, 1, 2]; myFunction(...args);
選擇性傳參
function filter(type, ...items) { return items.filter(item => typeof item === type); } filter("boolean", true, 0, false); // => [true, false] filter("number", false, 4, "Welcome", 7); // => [4, 7]
還可以同時(shí)展開多個(gè)數(shù)組:
function myFunction(v, w, x, y, z) { } var args = [0, 1]; myFunction(-1, ...args, 2, ...[3]);數(shù)據(jù)解構(gòu)
let cold = ["autumn", "winter"]; let warm = ["spring", "summer"]; // 析構(gòu)數(shù)組 let otherSeasons, autumn; [autumn, ...otherSeasons] = cold; otherSeasons // => ["winter"]數(shù)據(jù)構(gòu)造
兩個(gè)對(duì)象連接返回新的對(duì)象
let a = {aa:"aa"} let b = {bb:"bb"} let c = {...a,...b} console.log(c) // {"aa":"aa","bb":"bb"}
兩個(gè)數(shù)組連接返回新的數(shù)組
let d = ["dd"] let e = ["ee"] let f = [...d,...e] console.log(f) // ["dd","ee"]
在中間插入數(shù)組
var parts = ["shoulder", "knees"]; var lyrics = ["head", ...parts, "and", "toes"]; // ["head", "shoulders", "knees", "and", "toes"]
在尾部插入數(shù)組
// ES5 var arr1 = [0, 1, 2]; var arr2 = [3, 4, 5]; // 將arr2中的所有元素添加到arr1中 Array.prototype.push.apply(arr1, arr2); // ES6 var arr1 = [0, 1, 2]; var arr2 = [3, 4, 5]; arr1.push(...arr2);
數(shù)組加上對(duì)象返回新的數(shù)組
let g = [{gg:"gg"}] let h = {hh:"hh"} let i = [...g,h] console.log(i) // [{"gg":"gg"},{"hh":"hh"}
數(shù)組+字符串
let j = ["jj"] let k = "kk" let l = [...j,k] console.log(l) // ["jj","kk"]
帶有數(shù)組和對(duì)象的結(jié)合
let state = { resultList: [], currentPage: 0, totalRows: {} } let data = { resultList: [{new:"new"}], currentPage: 2, totalRows: {row:"row"} } let combile = { ...state, resultList: [ ...state.resultList, ...data.resultList ], currentPage: data.currentPage, totalRows: data.totalRows } console.log(combile) // {"resultList":[{"new":"new"}],"currentPage":2,"totalRows":{"row":"row"}}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/80504.html
摘要:上一篇學(xué)習(xí)下一代語法一,我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明和語法新的字符串拼接語法模版字面量數(shù)組元素或?qū)ο笤氐慕鈽?gòu)賦值和對(duì)象字面量簡寫的相關(guān)知識(shí)。這便是擴(kuò)展運(yùn)算符的用途之一。 本文同步 帶你入門 JavaScript ES6 (二),轉(zhuǎn)載請(qǐng)注明出處。 上一篇學(xué)習(xí)下一代 JavaScript 語法: ES6 (一),我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明 let 和 const 語法、...
摘要:它的參數(shù)是一個(gè)回調(diào)函數(shù),所有數(shù)組成員依次執(zhí)行該回調(diào)函數(shù),直到找出第一個(gè)返回值為的成員,然后返回該成員。上面代碼中,方法的回調(diào)函數(shù)可以接受三個(gè)參數(shù),依次為當(dāng)前的值當(dāng)前的位置和原數(shù)組。 數(shù)組的擴(kuò)展 展開運(yùn)算符 展開運(yùn)算符(用三個(gè)連續(xù)的點(diǎn) ( ... ) 表示)是 ES6 中的新概念,使你能夠?qū)⒆置媪繉?duì)象展開為多個(gè)元素。 合并數(shù)組 展開運(yùn)算符的一個(gè)用途是結(jié)合數(shù)組。 如果你需要結(jié)合多個(gè)數(shù)組,在...
摘要:在語法中,操作符有兩種意義剩余語法,參數(shù)和展開語法,展開數(shù)組對(duì)象,作為函數(shù)數(shù)組對(duì)象的擴(kuò)展運(yùn)算符。使用和參數(shù)進(jìn)行操作其余參數(shù)傳給原始函數(shù)展開語法運(yùn)算則可以看作是參數(shù)的逆運(yùn)算。 在ES6語法中,...操作符有兩種意義:rest(剩余語法,rest參數(shù)) 和 spread(展開語法,展開數(shù)組/對(duì)象),作為函數(shù)、數(shù)組、對(duì)象的擴(kuò)展運(yùn)算符。 從某種意義上說,剩余語法與展開語法是相反的:剩余語法將多...
摘要:通過生成器創(chuàng)建的迭代器也是可迭代對(duì)象,因?yàn)樯善髂J(rèn)會(huì)為屬性賦值。我們可以用來訪問對(duì)象的默認(rèn)迭代器,例如對(duì)于一個(gè)數(shù)組獲得了數(shù)組這個(gè)可迭代對(duì)象的默認(rèn)迭代器,并操作它遍歷了數(shù)組中的元素。 ES6 新的數(shù)組方法、集合、for-of 循環(huán)、展開運(yùn)算符(...)甚至異步編程都依賴于迭代器(Iterator )實(shí)現(xiàn)。本文會(huì)詳解 ES6 的迭代器與生成器,并進(jìn)一步挖掘可迭代對(duì)象的內(nèi)部原理與使用方法 ...
摘要:將數(shù)組中的每個(gè)元素展開為函數(shù)參數(shù)擴(kuò)展運(yùn)算符取代方法的一個(gè)實(shí)際的例子,應(yīng)用方法,簡化求出一個(gè)數(shù)組最大元素的寫法。 歡迎訪問我的個(gè)人博客:http://www.xiaolongwu.cn 前言 記錄一下在實(shí)際開發(fā)中,很有用的三個(gè)es6的新方法 用法詳解 默認(rèn)參數(shù) function f(x, y=13) { // 如果沒有傳入y或傳入了undefined,y的默認(rèn)值為13 retur...
閱讀 6201·2021-11-22 15:32
閱讀 825·2021-11-11 16:54
閱讀 3162·2021-10-13 09:40
閱讀 2168·2021-09-03 10:35
閱讀 1835·2021-08-09 13:47
閱讀 1875·2019-08-30 15:55
閱讀 1938·2019-08-30 15:43
閱讀 2460·2019-08-29 17:06