欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript 擴(kuò)展運(yùn)算符用法實(shí)例小結(jié)【基于ES6】

 更新時(shí)間:2019年06月17日 10:46:27   作者:longzhoufeng  
這篇文章主要介紹了JavaScript 擴(kuò)展運(yùn)算符用法,結(jié)合實(shí)例形式總結(jié)分析了基于ES6的擴(kuò)展運(yùn)算符基本概念與使用相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JavaScript 擴(kuò)展運(yùn)算符用法。分享給大家供大家參考,具體如下:

擴(kuò)展運(yùn)算符格式

擴(kuò)展運(yùn)算符格式很簡單,就是三個(gè)點(diǎn)(…)

重點(diǎn):需要ES6 語法支持

擴(kuò)展運(yùn)算符作用???

擴(kuò)展運(yùn)算符允許一個(gè)表達(dá)式在期望多個(gè)參數(shù)(用于函數(shù)調(diào)用)或多個(gè)元素(用于數(shù)組字面量)或多個(gè)變量(用于解構(gòu)賦值)的位置擴(kuò)展。

1、將一個(gè)數(shù)組放入另一個(gè)數(shù)組中

下面開始通過四個(gè)例子來深刻理解擴(kuò)展運(yùn)算符

①. 創(chuàng)建一個(gè)數(shù)組middle
②. 創(chuàng)建第二個(gè)包含middle的數(shù)組
③. 輸出結(jié)果

var middle = [3, 4];
var arr = [1, 2, middle, 5, 6];
console.log(arr);
// [1, 2, [3, 4], 5, 6]

在上例中,沒有使用擴(kuò)展運(yùn)算符。middle作為數(shù)組放入另一個(gè)數(shù)組中

2、如果想讓輸出結(jié)果只有一個(gè)數(shù)組???

這時(shí)候就用到擴(kuò)展運(yùn)算符,看下面例子,除了使用擴(kuò)展運(yùn)算符其他都與上面例子相同。

var middle = [3, 4];
var arr = [1, 2, ...middle, 5, 6];
console.log(arr);
// [1, 2, 3, 4, 5, 6]

當(dāng)創(chuàng)建數(shù)組arr和使用在middle數(shù)組上使用擴(kuò)展運(yùn)算符時(shí),不是將middle數(shù)組直接插入到arr中,而是將middle數(shù)組擴(kuò)展,然后將元素插入到arr中。

3、復(fù)制數(shù)組

slice()是JavaScript數(shù)組的方法,作用是復(fù)制數(shù)組。我們同樣可以使用擴(kuò)展運(yùn)算符復(fù)制數(shù)組。

var arr = ['a', 'b', 'c'];
var arr2 = [...arr];
console.log(arr2);
// ['a', 'b', 'c']

arr數(shù)組中的元素?cái)U(kuò)展成為單獨(dú)元素被分配到arr2中?,F(xiàn)在可以隨意改變arr2數(shù)組,且都不會(huì)對(duì)源數(shù)組arr產(chǎn)生影響

這是因?yàn)?,arr數(shù)組值被擴(kuò)展后添加到arr2數(shù)組中,我們?cè)O(shè)置arr2等于arr的值,而不是其本身。我們可以關(guān)注沒有擴(kuò)展運(yùn)算符時(shí)發(fā)生事情,就能理解了。

如果創(chuàng)建數(shù)組然后設(shè)置另一個(gè)數(shù)組等于其本身,如下:

var arr = ['a', 'b', 'c'];
var arr2 = arr;
console.log(arr2);
// ['a', 'b', 'c']

現(xiàn)在我們將arr2數(shù)組賦值給arr數(shù)組,這意味著只要改變arr2,arr數(shù)組就會(huì)發(fā)生變化。

arr2.push('d');
console.log(arr2);
// ['a', 'b', 'c', 'd']
console.log(arr);
// ['a', 'b', 'c', 'd']

4、拼接數(shù)組

使用擴(kuò)展運(yùn)算符可以代替concat()來拼接數(shù)組。

var arr = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];
arr1 = arr.concat(arr2);
console.log(arr);
// ['a', 'b', 'c', 'd', 'e', 'f']

使用擴(kuò)展運(yùn)算符

var arr = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];
arr = [...arr, ...arr2];
console.log(arr);
// ['a', 'b', 'c', 'd', 'e', 'f']

5、Math

也可以使用math函數(shù)連同擴(kuò)展運(yùn)算符。如這個(gè)例子中,將使用Math.max()

Math.max()將返回一組數(shù)最大值。
Math.max();
// -Infinity
Math.max(1, 2, 3);
// 3
Math.max(100, 3, 4);
// 100

在沒有擴(kuò)展運(yùn)算符,在數(shù)組上使用Math.max()最容易方法就是使用.apply()。

var arr = [2, 4, 8, 6, 0];
function max(arr) {
 return Math.max.apply(null, arr);
}
console.log(max(arr));
// 8

現(xiàn)在看看使用擴(kuò)展運(yùn)算符做同樣事情。只需要兩行代碼就可以做到同樣效果。

var arr = [2, 4, 8, 6, 0];
var max = Math.max(...arr);
console.log(max);
// 8

6、字符串轉(zhuǎn)數(shù)組

使用擴(kuò)展運(yùn)算符將字符串轉(zhuǎn)換為數(shù)組。

var str = "hello";
var chars = [...str];
console.log(chars);
// ['h', 'e',' l',' l', 'o']

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)單選選項(xiàng)卡切換效果

    微信小程序?qū)崿F(xiàn)單選選項(xiàng)卡切換效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)單選選項(xiàng)卡切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 使用JS和canvas實(shí)現(xiàn)gif動(dòng)圖的停止和播放代碼

    使用JS和canvas實(shí)現(xiàn)gif動(dòng)圖的停止和播放代碼

    這篇文章主要介紹了使用JS和canvas實(shí)現(xiàn)gif動(dòng)圖的停止和播放代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-09-09
  • JavaScript中函數(shù)柯里化示例詳解

    JavaScript中函數(shù)柯里化示例詳解

    JavaScript 函數(shù)柯里化是將一個(gè)多參數(shù)的函數(shù)轉(zhuǎn)換為一系列單參數(shù)的函數(shù),每個(gè)單參數(shù)函數(shù)都可以接收一個(gè)參數(shù),并返回一個(gè)新的函數(shù),本文將通過代碼示例給大家講講JavaScript函數(shù)柯里化的優(yōu)缺點(diǎn),需要的朋友可以參考下
    2023-09-09
  • JS使用虛擬列表查看微信聊天記錄功能技巧實(shí)例

    JS使用虛擬列表查看微信聊天記錄功能技巧實(shí)例

    這篇文章主要為大家介紹了JS使用虛擬列表查看微信聊天記錄功能技巧實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 探索JavaScript函數(shù)的無限可能(函數(shù)基本概念)

    探索JavaScript函數(shù)的無限可能(函數(shù)基本概念)

    JavaScript中的函數(shù)是一種重要的編程概念,它允許我們封裝可重用的代碼塊,并在需要時(shí)進(jìn)行調(diào)用,本文將深入介紹JavaScript函數(shù)的各個(gè)方面,包括函數(shù)定義和調(diào)用、參數(shù)和返回值、作用域和閉包、高階函數(shù)以及常見的函數(shù)應(yīng)用場景,感興趣的朋友一起看看吧
    2023-08-08
  • JavaScript設(shè)計(jì)模式之迭代者模式詳情

    JavaScript設(shè)計(jì)模式之迭代者模式詳情

    這篇文章主要介紹了JavaScript設(shè)計(jì)模式之迭代者模式詳情,迭代器設(shè)計(jì)模式能夠可以讓我們更方便的且有規(guī)矩的進(jìn)行訪問復(fù)合數(shù)據(jù)的每一項(xiàng),也可以通過迭代器進(jìn)行完成一些流線式操作
    2022-06-06
  • chatGPT前端流式輸出js實(shí)現(xiàn)三種方法—fetch、SSE、websocket

    chatGPT前端流式輸出js實(shí)現(xiàn)三種方法—fetch、SSE、websocket

    項(xiàng)目需要接入chatgpt提供的api,后端返回流式的字符,前端接收并實(shí)時(shí)顯示,在JavaScript中,使用Stream流通常指的是處理數(shù)據(jù)流的一種方式,它們?cè)试S數(shù)據(jù)被處理成塊,而不是一次性處理整個(gè)數(shù)據(jù)集,這對(duì)于處理大量數(shù)據(jù)或者來自網(wǎng)絡(luò)請(qǐng)求的數(shù)據(jù)非常有用,
    2024-07-07
  • Javascript獲取隨機(jī)數(shù)的實(shí)現(xiàn)方法

    Javascript獲取隨機(jī)數(shù)的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狫avascript獲取隨機(jī)數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • 阿里巴巴技術(shù)文章分享 Javascript繼承機(jī)制的實(shí)現(xiàn)

    阿里巴巴技術(shù)文章分享 Javascript繼承機(jī)制的實(shí)現(xiàn)

    這篇文章主要介紹了阿里巴巴技術(shù)文章,分享的是一篇關(guān)于Javascript實(shí)現(xiàn)繼承機(jī)制的文章,感興趣的小伙伴們可以參考一下
    2016-01-01
  • js 采用delete實(shí)現(xiàn)繼承示例代碼

    js 采用delete實(shí)現(xiàn)繼承示例代碼

    這篇文章主要介紹了js如何采用delete實(shí)現(xiàn)所謂的繼承,下面有個(gè)不錯(cuò)的示例,大家可以參考下
    2014-05-05

最新評(píng)論