日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Array.from()

發布時間:2025/3/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Array.from() 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

es6 Array.from() 方法將兩類對象轉為真正的數組
用法:用于將兩類對象轉為真正的數組:類似數組的對象和可遍歷(iterable)的對象(包含ES6新增的數據結構Set和Map);
說明:1)只要是部署了Iterator接口的數據結構,Array.from都能將其轉化為數組
  2)如果參數是一個真正的數組,Array.from會返回一個一模一樣的新數組。
  3)擴展運算符背后調用的是遍歷器接口(Symbol.iterator),如果一個對象沒有部署這個接口,就無法轉換。Array.from方法還支持類似數組的對象。所謂類似數組的對象,本質特征只有一點,即必須有length屬性。因此,任何有length屬性的對象,都可以通過  Array.from方法轉為數組,而此時擴展運算符就無法轉換。
注意:對于還沒有部署該方法的瀏覽器,可以用Array.prototype.slice方法替代
  const toArray = (() => {
    Array.from ? Array.from : obj => [].slice.call(obj);
  })

例:
  let arrayLike = {
    '0': 'a',
    '1': 'b',
    '2':'c',
    length: 3
  };
  //es5的寫法
  var arr1 = [].slice.call(arrayLike);
  //es6寫法
  var arr2 = Array.from(arrayLike);

例2:dom返回的NodeList集合和函數內部的arguments對象
  //NodeList對象
  let ps = document.querySelectorAll('p');
  Array.from(ps).filter(p => {
    return p.textContent.length > 100;
  })
  //arguments對象
  function foo() {
    var args = Array.from(arguments);
  }
例3:
  Array.from({ length: 3 });
  // [ undefined, undefined, undefined ]


Array.from可以接受第二個參數 作用類似數組的map方法

例3:
  Array.from(arrayLike, x => x * x);
  Array.from(arrayLike).map(x => x * x);
  Array.from([1, 2, 3], (x) => x * x);

轉載于:https://www.cnblogs.com/insignificant-malt/p/8528882.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Array.from()的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。