Array.from()用於將如下兩類對象轉化爲真正的數組:javascript
它接受三個參數:java
它返回的是將該對象轉化成功後,獲得的數組。es6
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]
淺複製 是說只拷貝數組元素的內容,而無論該內容是否是指向另外一個值。數組
- 通俗點講,就是隻拷貝一層數據。
深複製 與淺複製對應,它會不只拷貝數組元素的內容,還會分析其內容是否爲一個「 指針 」類型的值,如對象,函數,數組等。- 若是是一個「 指針 」類型的值,則會繼續將其值下的全部內容通通複製一份.
- 內容中的內容全要複製,直到其內容爲 undefined 、 null 、 Boolean 、 Number 、 String 、 Symbol 的一種。
thisObj 是須要綁定的對象
arg1, arg2, ..., argn 是該函數調用的參數
Function.prototype.apply( thisObj, argArr ) 與該方法功能一致,只是在參數傳遞上,使用的是一個數組形式app
它的常見應用場景:函數
轉化爲真正的數組以後,就可使用 Array.prototype.forEach() 方法來操做該對象了。this