天天看點

JavaScript 類數組轉化為數組

很多情況下我們需要将類數組的對象(key是以0到n的數字或字元串,具有length屬性。例如:Arguments對象)轉化為一個數組來進行各種例如forEach的數組操作,在ES5中是利用類數組對象強制調用Array對象的slice方法來進行轉換的,在ES6中Array擴充了from方法來進行轉換,另外,ES6中的擴充運算符也可将某些類數組對象轉化為數組

各方法示例如下:

  • 強制調用Array對象的slice方法
console.log(Array.prototype.slice.call({
        '0': 'a',
        '1': 'b',
        '2': 'c',
        length: 3
    })); //Array(3) [ "a", "b", "c" ]           
  • Array.from()方法
console.log(Array.from({
        '0':'a',
        '1':'b',
        '2':'c',
        length:3
    })); //Array(3) [ "a", "b", "c" ]           
  • 擴充運算符...
console.log((function (a,b,c) {
        console.log([...arguments]);
    }("a","b","c"))); //Array(3) [ "a", "b", "c" ]           

繼續閱讀