国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

偽數組及其轉換為真數組原理

fobnn / 3301人閱讀

摘要:偽數組及其轉換為真數組原理什么是偽數組定義擁有屬性和數值下標屬性。不具有數組所具有的方法。偽數組是一個,而真實的數組是一個常見的偽數組參數數組對象列表比如通過得到的列表對象比如舉例通過得到的對象列表是一個偽數組。

偽數組及其轉換為真數組原理 什么是偽數組

定義:

擁有length屬性和數值下標屬性。

不具有數組所具有的方法。

偽數組是一個Object,而真實的數組是一個Array
常見的偽數組

參數數組:arguments

DOM對象列表HTMLCollection():比如通過document.getElementsByTagName得到的列表

jquery對象:比如$("div")

舉例

通過document.getElementsByTagName得到的DOM對象列表是一個偽數組。

  • test1
  • test2
  • test3
  • test4
const lis = document.getElementsByTagName("li");
console.log(lis); // HTMLCollection(4)?[li, li, li, li]

偽數組是一個Object,而真實的數組是一個Array

console.log(lis instanceof Array);  // false
console.log(lis instanceof Object);  // true

擁有length屬性和數值下標屬性

console.log(lis[1]);  // 
  • test2
  • console.log(lis.length); // 4

    偽數組沒有真實數組的方法

    console.log(lis.forEach) //undefined
    
    lis.forEach((ele) => console.log(ele))

    真實數組的forEach()方法:

    const ll = [1,2,3];
    ll.forEach((ele) => console.log(ele))

    Array.prototype.slice.call(lis)將偽數組轉換為真數組
    // Array.prototype.slice.call(lis):將偽數組轉換為真數組
      const lis2 = Array.prototype.slice.call(lis); // 相當于 lis.slice()
      console.log(lis2 instanceof Array);  //true
      console.log(lis2 instanceof Object);  //true
      console.log(lis2[1]);  // 
  • test2
  • console.log(lis2.forEach); // ? forEach() { [native code] }
    原理

    數組的slice()截取數組中指定部分的元素, 生成一個新的數組 [1, 3, 5, 7, 9], slice(0, 3)

    // slice2()
    Array.prototype.slice2 = function (start, end) {
      start = start || 0
      end = start || this.length
      const arr = []
      for (var i = start; i < end; i++) {
        arr.push(this[i])
      }
      return arr
    }

    文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

    轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/104335.html

    相關文章

    • Django Web開發技術棧清單-Python基礎篇

      摘要:使用單引號雙引號和三引號或來表示字符串。不可變的集合函數會以字典類型返回當前位置的全部全局變量。用于將進制整數轉換成進制,以字符串形式表示。返回字符串中最大的字母,或數組中的最大值。的作用就是減少了單行函數的定義。 問題答案由本人整理 1.基礎語法是否熟悉?介紹一下 Python和其他語言最大的區別就是使用行和縮進,而不是大括號({})或者分號(;)來控制類、函數或者邏輯判斷。Pyt...

      leeon 評論0 收藏0
    • 溫故js系列(16)-數組&數組方法使用詳解

      摘要:創建數組數組字面量數組構造函數參數為數組建議使用數組字面量方式,性能好,代碼少,簡潔,畢竟代碼少。數組判斷方法用來判斷某個值是否為。的這是最簡潔最直接的遍歷數組元素的語法。把數組轉換為本地數組,并返回結果。 前端學習:前端教程&開發模塊化/規范化/工程化/優化&工具/調試&值得關注的博客/Git&面試-前端資源匯總 歡迎提issues斧正:數組&數組方法使用詳解 Array對象 之前一...

      morgan 評論0 收藏0
    • Array 的一些常用 API

      摘要:不能通過判斷,它是通過比較的。和返回布爾值用于檢測數組中的元素是否有滿足指定條件的用于檢測數組中所有元素是否都符合指定條件。第二個可選參數是累加器的初始值。累加器,即函數上一次調用的返回值。 unshift、push、shift、pop 這4個方法都會改變原數組 unshift() 從前面添加元素,push() 從后面追加元素,返回數組長度 shift() 刪除第0個元素,pop()...

      vslam 評論0 收藏0
    • 前端面試題總結

      摘要:工作中總結的一些比較重要的前端技能,覺得在面試中比較合適提問,即能查看出面試者的技術功底,又能考察其知識體系的廣度。異步編程的考察,其關鍵字的使用,與的關系,同時可以深入考察總共有幾種異步編程的方式。 工作中總結的一些比較重要的前端技能,覺得在面試中比較合適提問,即能查看出面試者的技術功底,又能考察其知識體系的廣度。適用于應屆生和工作年限兩年下的同學,掌握下面的知識基本滿足工作需求了。...

      wuyangnju 評論0 收藏0

    發表評論

    0條評論

    fobnn

    |高級講師

    TA的文章

    閱讀更多
    最新活動
    閱讀需要支付1元查看
    <