<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          5 個JavaScript 中 Slice()的用例

          共 4106字,需瀏覽 9分鐘

           ·

          2021-11-28 19:02

          點擊上方 前端Q,關注公眾號

          回復加群,加入前端Q技術交流群



          英文 | https://betterprogramming.pub/5-use-cases-for-slice-in-javascript-13462f2e177f
          翻譯 | 楊小愛

          slice() 方法將數(shù)組部分的副本返回到新的數(shù)組對象中。這個對象是從頭到尾選擇的。請注意,它不會修改原始數(shù)組。
          此外,如果向其中一個數(shù)組添加新元素,則另一個數(shù)組不會受到影響。
          參數(shù)是什么?
          slice() 方法的參數(shù)是開始和結束索引。
          開始
          它是一個從零開始的索引,用于開始復制數(shù)組的一部分。如果未定義,則默認值為 0。如果 start 大于數(shù)組的索引范圍, slice() 方法將返回一個空數(shù)組。
          此外,首先,您還可以使用負索引。slice(-1) 提取數(shù)組的最后一個元素。它類似于 Python。
          結尾
          該參數(shù)是可選的。如果你的 slice() 函數(shù)中只有一個參數(shù),那就是 start。如果省略, slice() 方法從序列的末尾提取。
          如果它大于序列的長度,slice 一直提取到序列的末尾,只是在它被省略的情況下。
          它是結束提取之前的索引。它不包括在內。因此,索引的最后一個元素不包含在數(shù)組的副本中。例如, slice(1,3) 提取第二個和第三個元素。
              
          y = [1, 2, 3, 4, 5, 6]y.slice(2, -2) // will return [3, 4]
          這意味著 y 會將數(shù)組從索引 2 切片到索引 -2 獨占。
          1、復制一個數(shù)組
          第一個功能是 slice() 函數(shù)的基本功能。沒有參數(shù)的數(shù)組復制原始數(shù)組。有時,您可能想要更新數(shù)組中的某些元素。
          但是,您可能希望保護原始數(shù)組中的元素。因此,您可以創(chuàng)建原始數(shù)組的淺表副本。
              
          const midtermGrades = updatedGrades.slice();
          2、構造一個以n開頭的子數(shù)組
          slice() 方法的第二個用例是復制以 n 開頭的子數(shù)組。例如,您正在分析從考試中獲得 80 分或更高分的學生。您發(fā)現(xiàn)學生的索引從 10 開始。因此,您可以復制成功學生的索引。
              
          const successfulStudents = allStudents.slice(10);
          你也可以得到不滿意的學生。
              
          const unsatisfactoryStudents = allStudents.slice(-10);
          3、將類數(shù)組對象轉換為數(shù)組
          您可以使用 slice() 方法將看起來像數(shù)組的對象轉換為數(shù)組。例如,您可以按如下方式創(chuàng)建函數(shù)。
              
          function TransformToArray(){ return Array.prototype.slice.call(arguments);}
          var newArray = TransformToArray("1", "2", "3", "4");console.log(newArray); // ["1", "2", "3", "4"];
          4、 將一個 NodeList 轉換成一個數(shù)組
          NodeList 對象是從文檔中提取的節(jié)點集合。您可以使用 querySelectorAll() 方法返回一個 NodeList 對象。
          例如,您可以選擇 HTML 文檔中的所有 <p> 節(jié)點。使用 slice(),您可以將您選擇的 NodeList 轉換為數(shù)組。
              
          var p = document.querySelectorAll(‘p’);var pNodes = Array.prototype.slice.call(p);
          5、替換字符串中的特定索引
          您可以使用 slice() 函數(shù)創(chuàng)建替換函數(shù)。
              
          String.prototype.append = function (index,value) { return this.slice(0,index) + value + this.slice(index);};
          var s = "Happy year";alert(s.append(6,"new "));
          結論
          學習 JavaScript 內置函數(shù)的用例可以幫助您提高編碼技能。您可以在需要時使用您的知識。您可以優(yōu)雅地實現(xiàn)功能。
          slice() 也是一個有用的內置函數(shù)。如果您知道如何使用它,則可以在遇到需要使用它的問題時使用它。您可以使用 slice() 輕松獲取數(shù)組的副本。
          總結一下,本文中 slice() 的用例如下:
          • 復制數(shù)組

          • 構造一個從 n 開始的子數(shù)組

          • 將類數(shù)組對象轉換為數(shù)組

          • 將 NodeList 轉換為數(shù)組

          • 替換字符串中的特定索引



          往期推薦


          大廠面試過程復盤(微信/阿里/頭條,附答案篇)
          面試題:說說事件循環(huán)機制(滿分答案來了)
          專心工作只想搞錢的前端女程序員的2020



          最后


          • 歡迎加我微信,拉你進技術群,長期交流學習...

          • 歡迎關注「前端Q」,認真學前端,做個專業(yè)的技術人...

          點個在看支持我吧
          瀏覽 25
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中国一区二区操B视频 | 抽插美女大逼网页 | 超碰成人欧美 | 人人撸人人看 | 3344gc在线观看入口 |