語法和c區別 總結最全的展開語法應用例項

2021-10-25 13:36:43 字數 1964 閱讀 3423

今天和大家聊一聊展開語法,用三個點表示...,作用是可以在函式呼叫/陣列構造時, 將陣列表示式或者string在語法層面展開;還可以在構造字面量物件時, 將物件表示式按key-value的方式展開。

首先我們看看幾個常用例子:

一、求陣列最大值、最小值?

2、展開語法表示

let dataarr = [8, 3 ,6, 12, 1];

math.max(...dataarr); // => 12

math.min(...dataarr); // => 1

二、連線多個陣列?

1、concat方法

.concat(['a', 'b', 'c'], 'qdk', 1);

// => ['a', 'b', 'c', 'qdk', 1]

2、展開語法表示

[...['a', 'b', 'c'], 'qdk', 1];

// => ['a', 'b', 'c', 'qdk', 1]

三、淺拷貝物件

1、object.assign方法

let obj1 = ;

let obj2 = ;

object.assign({}, obj1, obj2);

// =>

2、展開語法表示

let obj1 = ;

let obj2 = ;

;// =>

四、展開語法與迭代器

[...'qdk'];  // => ['q', 'd', 'k']

; // =>

五、展開語法與迭代器

let map = new map();

map.set('q', '1');

map.set('d', '2');

map.set('k', '3');

[...map.keys()].join(''); // => qdk

六、展開語法與生成器

function* fn()

[...fn()]; // => ['welcome', 'to', 'qianduanka']

七、展開語法與解構賦值

let [arg1,arg2,...arg3] = ['friends', 'welcome', 'to', 'qianduanka'];

arg1; // => friends

arg2; // => welcome

args; // => ['to', 'qianduanka']

八、展開語法與解構賦值

let  = ;

a; // => 1

b; // => 2

c; // =>

一、請寫出下面的輸出內容?

1. ;  // => ???

2. [...new map()]; // => ???

3. ; // => ???

二、聊一聊擴充套件語法...與array.from的區別?

三、聊一聊擴充套件語法...與object.assign的區別?

陣列的tostring,你真的了解嗎

array中some介紹

array中slice介紹

array中join介紹

不是你記憶中的join,但致命的程度沒兩樣

前端咖,值得關注,在看哦

最全的Markdown語法

一級標題 二級標題 多級標題多級標題 一級引用 二級引用 n級引用一級引用 二級引用 n級引用 行內 這是 中無視markdown語法,所以本文中所有展示markdown原始文字的部分都是用 段包起來的。這是 斜體 粗體 斜體加粗 刪除線 表頭 表頭 表頭 內容 內容 內容 格式很自由,關鍵字元就是...

最全的Markdown語法

目錄 超連結字型 分割線 多級列表 多選框latex公式註腳 一級標題 二級標題 多級標題 一級引用 二級引用 n級引用 行內 這是 中無視markdown語法,所以本文中所有展示markdown原始文字的部分都是用 段包起來的。這是 斜體 粗體 斜體加粗 刪除線 表頭 表頭 表頭 內容 內容 內容...

C 語法總結

1 const 與volatile 的用法 1 const include include 行引數指向const 型別變數的指標 void display c cons int pi 6 new 與delete 運算子 double pd define pointer variable pd new...