摘要:淺復制是說只拷貝數組元素的內容,而不管該內容是不是指向另一個值。深復制與淺復制對應,它會不僅拷貝數組元素的內容,還會分析其內容是否為一個指針類型的值,如對象,函數,數組等。
1. Array.from( likeArrObj, [valueHandleFn], [thisObj] )
Array.from()用于將以下兩類對象轉化為真正的數組:
類似數組的對象(array-like object,即本身 具有length屬性的對象 )
可遍歷對象( 原型鏈上具有[Symbol.iterator]方法的對象 ,即具有iterator接口的iterable對象)
它接受三個參數:
likeArrObj: 需要被轉化的對象
[valueHandleFn]: 用于處理該對象中每個值的一個 遍歷函數 ,類似于map(),該參數可選。
[thisObj]: 用于 綁定[valueHandleFn]中的this ,也就是只有使用了[valueHandleFn],它才會有作用
它返回的是將該對象轉化成功后,得到的數組。
1.1 代碼示例let likeArrObj = { "0": 0, "1": 1, "2": 2, length: 3, } // ES5 的寫法 (兩種) var arr_es5_01 = Array.prototype.slice.call( likeArrObj ) var arr_es5_02 = [].prototypr.slice.call( likeArrObj ) // ES6 的寫法 (兩種) let arr_es6_01 = Array.from( likeArrObj ) let arr_es6_02 = [...likeArrObj]1.1.1 對代碼的說明:
Array.prototype.slice( startNum, endNum ) 可以淺復制一部分array元素,起始于startNum,終止于(endNum - 1)。
淺復制 是說只拷貝數組元素的內容,而不管該內容是不是指向另一個值。
通俗點講,就是只拷貝一層數據。
深復制 與淺復制對應,它會不僅拷貝數組元素的內容,還會分析其內容是否為一個“ 指針 ”類型的值,如對象,函數,數組等。如果是一個“ 指針 ”類型的值,則會繼續將其值下的所有內容統統復制一份.
內容中的內容全要復制,直到其內容為 undefined 、 null 、 Boolean 、 Number 、 String 、 Symbol 的一種。
Function.prototype.call( thisObj, arg1, arg2, ..., argn ) 用于在運行時指定該函數的this綁定對象
thisObj 是需要綁定的對象
arg1, arg2, ..., argn 是該函數調用的參數
Function.prototype.apply( thisObj, argArr ) 與該方法功能一致,只是在參數傳遞上,使用的是一個數組形式
[...likeArrObj]中的 ... 是擴展運算符,它通過調用likeArrObj的 [Symbol.iterator]方法 來將其打散成一個個獨立的量,最后再用 [] 來將其合成一個新的數組,所以使用該寫法時,一定需要確保likeArrObj具有 [Symbol.iterator]方法。
1.2 應用場景它的常見應用場景:
將 document.querySelectorAll( str ) 返回的NodeList集合轉化為真正的數組
將 arguments 對象轉化為真正的數組
轉化為真正的數組之后,就可以使用 Array.prototype.forEach() 方法來操作該對象了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91958.html
摘要:擴展運算符簡介擴展運算符是三個點,可以將一個數組轉為用逗號分隔的參數序列。在實際項目中靈活應用擴展運算符運算符,能寫出更精簡易讀性高的代碼。 1、擴展運算符簡介 擴展運算符( spread )是三個點(...),可以將一個數組轉為用逗號分隔的參數序列。 說的通俗易懂點,有點像化骨綿掌,把一個大元素給打散成一個個單獨的小元素。 showImg(https://segmentfault.c...
摘要:最近在做的項目需要將升級到,使用過擴展的同學應該知道,的擴展是完全不兼容的擴展的,改如何使用呢。 最近在做的項目需要將PHP5.6升級到PHP7.0,使用過PHP-mongo擴展的同學應該知道,PHP7.0的mongodb擴展是完全不兼容PHP5.6的mongo擴展的,php-mongodb改如何使用呢。 下面直接說明各種方法的使用: 1.mongodb連接: private func...
閱讀 1407·2021-11-19 11:38
閱讀 3562·2021-11-15 11:37
閱讀 803·2021-09-30 09:48
閱讀 947·2021-09-29 09:46
閱讀 893·2021-09-23 11:22
閱讀 1871·2019-08-30 15:44
閱讀 3389·2019-08-26 13:58
閱讀 2380·2019-08-26 13:26