成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Array常用方法總結(jié)

Rocture / 1954人閱讀

摘要:從學習來,一直覺得數(shù)組方法真是多,總是疑惑哪個會更好。索性將全部關(guān)于數(shù)組相關(guān)的方法整理出來。整理之前以為就是簡單的匯總,然而慢慢整理的過程發(fā)現(xiàn)很多新奇的數(shù)組以及膩害的用法。這些數(shù)組方法看起來簡單,實際用處確是很大。

從學習javascript來,一直覺得數(shù)組方法真是多,總是疑惑哪個會更好。索性將全部關(guān)于數(shù)組相關(guān)的方法整理出來。整理之前以為就是簡單的匯總,然而慢慢整理的過程發(fā)現(xiàn)很多新奇的數(shù)組以及膩害的用法。這些數(shù)組方法看起來簡單,實際用處確是很大。

改變原數(shù)組的方法
1.1 push

 功能:向數(shù)組的末尾添加一個或多個元素,并返回新的數(shù)組長度 
 語法:array.push(item1,item2, ..., itemN)
 例子:
     ```
        var arr = [1];
        arr.push(2,3);//arr的值[1,2,3] 返回數(shù)組長度3
        var arr2 = [3,4,5];
        arr.push(...arr2);//arr的值[1,2,3,3,4,5]  返回數(shù)組長度6 這里是利用ES6的擴展運算符
     ```
     

1.2 pop

 功能:刪除數(shù)組的最后一個元素并返回刪除的元素
 語法:array.pop()
 例子:
     ```
        var arr = [1,2,3,4];
        arr.pop();//arr的值[1,2,3] 返回刪除的元素4
     ```
     
     

1.3 unshift()

 功能:向數(shù)組開頭添加一個或多個元素,并返回新的數(shù)組長度
 語法:array.unshift(item1,item2, ..., itemN)
 例子:
     ```
        var arr1 = [3]; 
        // arr的值[1,2,3]
        /    / 注意:在unshift后面連續(xù)加兩個添加項,不會一個一個加,而是整體加開頭
        arr1.unshift(1,2);
   
        // 注意:只有一個個元素的用unShift插入,才會每次從開頭開始插入
        var arr2 = [3];
        arr2.unshift(1);//arr2的值[1,3]
        arr2.unshift(2);//arr2的值[2,1,3]
     ```

1.4 shift()

 功能:刪除數(shù)組開頭的第一個元素,并返回該元素
 語法:array.shift()
 例子:
     ```
        var arr = [1,2,3,4];
        arr.shift();//arr的值變?yōu)閇2,3,4] 返回1
     ```
     

1.5 splice()

 功能:添加或刪除數(shù)組的元素,返回被刪除的項目(數(shù)組)
 語法 array.splice(start[,len[,item1[,itemx]]])
 參數(shù)解釋:
     start 刪除/添加 元素開始的位置
     len 要刪除的元素的數(shù)量
     item1,itemx 要添加的元素的值,從start位置開始添加
 例子:
     ```
        var arr = [1,8,4,5,6,7];
        // 返回被刪除的項目[8]這個數(shù)組,arr的值變?yōu)閇1,2,3,4,5,6,7]
        arr.splice(1,1,2,3);
             
     ```

不改變原數(shù)組的方法
2.1 concat

 功能:連接兩個或多個數(shù)組,返回一個新的數(shù)組,不改變原數(shù)組
 語法:array.concat(value1[, ... [, valueX])
 參數(shù)解釋:value1 可以是數(shù)組或非數(shù)組。**非數(shù)組時作為元素項被一次添加到新數(shù)組中**
 例子:
     ```
        var arr1 = [1,2];
        var arr2 = [3,4];
        var arr3 = [5,6];
        var arr4 = arr1.concat(arr2,arr3);//arr4的值[1,2,3,4,5,6] arr1,arr2,arr3不變
        //用ES6
        var arr5 =[...arr1, ...arr2, ...arr3];//結(jié)果與arr4一樣
     ```
 面試題:傳遞兩個參數(shù)m,n,返回長度為m,所有元素都為n的數(shù)組。必須用遞歸和cancat
     fn(m,n){
         return m?fn(m-1).concat(n):[];
     }
     

2.2 join

 功能:將數(shù)組的每一個元素,通過某個字符串拼接。并返回新的拼接完成的字符串
 語法:array.join(separator)
 例子:
     ```
        var arr = [1,2,3,4];
        arr.join();//返回值 1,2,3,4
        arr.join("-");//返回值 1-2-3-4
     ```

2.3 slice

 功能:提取數(shù)組中某一部分的元素,返回被提取出的部分數(shù)組
 語法:array.slice(start[,end])
 參數(shù)解釋:
      start 提取的開始位置
      end 提取的結(jié)束位置(不包含)
 例子:
     ```
        var arr = [1,2,3,4];
        var subArr = arr.slice(1,3);// subArr的值[2,3]
     ```

2.4 indexOf

 功能:返回數(shù)組中某個指定元素下標的位置,如果沒找到返回-1
 語法:array.indexOf(item[,start])
 參數(shù)解釋:
      item 要查找的元素
      start 開始查找的位置,省略則從頭開始查找
 例子:
 
     ```
        var arr = ["black","orange","apple"];
        arr.indexOf("orange");//返回 orange的下標 1 
     ```
 面試題:數(shù)組去重
 
     ```
        var arr1 = [1,2,3,4,4,5,5,7,1];
        var arr = [];
        arr1.forEach((item, index)=>{
            if(arr.indexOf(item)<0){
                arr.push(item);
            }
        })  
     ```

2.5 lastIndexOf

 功能:返回數(shù)組中最后一次出現(xiàn)該元素的位置,如果未找到返回-1。查找方向從??
 語法:array.lastIndexOf(item[,start])
 參數(shù)解釋:
      item 要查找的元素
      start 開始查找的位置,如省略則從最后開始向前查找。
 例子:
     ```
        var arr = [1,2,3,4,2,3];
        arr.lastIndexOf(2);//返回下標 4
        arr.lastIndexOf(2,3);//返回下標 1
     ```

2.6 includes

 功能:判斷一個數(shù)組是否包含一個指定的值,如果包含返回true,否返回false
 語法:array.includes(searchItem[,formIndex])
 參數(shù)解釋:
     searchItem 要查找的元素值
     formIndex 開始查找元素的位置 >=0有效,<0則從數(shù)組開頭查找
 例子:
     ```
        var arr = [1,2,3,4];
        arr.includes(1);//true
        arr.includes(1,1);//false
        arr.includes(1,-1);//true 相當于 arr.includes(1)
     ```

2.7 find

 功能:返回數(shù)組中檢測函數(shù)的條件的第一個元素的值,否則返回undefined
 語法:array.find(callback(currentValue[,index[,arr]])[,thisArg])
 參數(shù)解釋:
      callback 數(shù)組中每個元素執(zhí)行的函數(shù),接受三個參數(shù)
        currentValue 數(shù)組中遍歷的當前元素
        index 數(shù)組中遍歷的當前元素的下標
        array 當前數(shù)組
      thisArg 執(zhí)行回調(diào)時用作this的對象
 例子:
     ```
        var ages = [10,18,20,22];
        var obj = {"name":"cherry"};
        var result = arge.find(function(age){
            console.log(obj);  //{"name":"cherry"}
            return age>=18;
        },obj);    //result 的值為 18
     ```

2.8 findIndex

 功能:返回數(shù)組中檢測函數(shù)的條件的第一個元素的下標,否則返回-1
 語法:array.findIndex(callback(currentValue[,index[,array]])[,thisArg])
 參數(shù)解釋:
       callback 數(shù)組中每個元素執(zhí)行的函數(shù),接受三個參數(shù)
        currentValue 數(shù)組中遍歷的當前元素
        index 數(shù)組中遍歷的當前元素的下標
        array 當前數(shù)組
      thisArg 回調(diào)函數(shù)中可用作this的對象
 例子:
     ```
        function isOdd(currentValue){
           return currentValue%2;
        }
        var arr = [2,4,6,1,3];
        arr.findIndex(isOdd);//3  返回第一個奇數(shù)
        var arr1 = [2,4,6,8];
        arr1.findIndex(isOdd);//-1  沒有奇數(shù)則返回-1
     ```

2.9 valueOf

 功能:還是返回原數(shù)組
 語法:array.valueOf()
 例子:
     ```
        var arr = [1,2,3,4];
        arr.valueOf();//[1,2,3,4]
     ```
   

2.10 toString

 功能:返回一個由數(shù)組中每個值組成的以逗號拼接的字符串
 語法:array.toString()
 描述:比如我們alert(arr)時,接受一個字符串則會隱式調(diào)用toString在控制臺輸出字符串
 例子:
     ```
        var arr = [1,2,3,4];
        arr.toString();// 原數(shù)組不變,但輸入值為 1,2,3,4
     ```

2.11 copyWithin

 功能:淺復制數(shù)組的一部分到同一數(shù)組的另外一個位置,數(shù)組長度不變。返回改變后的數(shù)組
 語法:array.copyWithin(target[,start[,end]])
 參數(shù)解釋:
    target:被復制的一部分數(shù)組放置的起始位置 
            0為基底的索引,如果是負數(shù),將從末尾開始計算。
            **target>=array.length 不發(fā)生拷貝**
    start:拷貝起始的位置。如果是負數(shù),則從末尾開始計算。如不填,默認從0開始
    end:拷貝結(jié)束的位置。如果是負數(shù),則從末尾開始計算。如不填,默認為數(shù)組長度
 例子:
     ```
        var numbers = [1,2,3,4,5];
        numbers.copyWithin(-2);// 新返回的數(shù)組 [1,2,3,1,2];
        numbers.copyWithin(0,3,4);// 新返回的數(shù)組 [4,2,3,4,5];
        [].numbers.call({length:5,3:1},0,3); 
        //新返回的數(shù)組 [0:1,3:1,legnth:5]
        
         //這里解釋一下 {length:5,3:1}等價于
         //{0:undefined,1:undefined,2:undefined,3:1,4:undefined,length:5}
         //所以用第4個元素開始copy,copy的數(shù)組放置在第0個位置。結(jié)果為
         //{0:1,1:undefined,2:undefined,3:1,4:undefined,length:5}
      ```

2.12 flat

   功能:按照指定的深度遞歸遍歷數(shù)組,并將所有元素與遍歷到的子數(shù)組中的元素合并到一個數(shù)組中,
    返回一個新數(shù)組
   語法:array.flat(depth = 1)
   例子:
       ```
          var arr1 = [1,2,[3,4]];
          arr1.flat();// 返回新數(shù)組[1,2,3,4]
          var arr2 = [1,2,[3,4,[5,6]]];
          arr2.flat();// 返回新數(shù)組[1,2,3,4,[5,6]]
          arr2.flat(2);// 返回新數(shù)組 [1,2,3,4,5,6]
          arr2.flat(Infinity);// 返回新數(shù)組 [1,2,3,4,5,6] 
          var arr3 = [1,2,,4,5];
          arr3.flat();//返回新數(shù)組 [1,2,4,5] **可以去除空項**
       ```
   替代方案

       ```
           //使用reduce,concat 一層
           var arr = [1,2,[3,4]];
           arr.reduce((acc,value)=> acc.concat(value),[]);
           
           //或使用...
           var flatSingle = arr => [].concat(...arr);
       ```

       ```
           // 無線反嵌套
           var arr = [1,2,[3,4,[5,6]]];
           function flatDeep(arr){
               return arr.reduce((acc,value)=> Array.isArray(value)?acc. concat(flatDeep(value)):acc. concat(value)
               ,[])
           }
           flatDeep(arr);//返回新數(shù)組 [1,2,3,4,5,6]
       ```

用于迭代的數(shù)組
3.1 sort (改變原數(shù)組)

 功能:對數(shù)組元素進行排序,默認按升序排序,即小的在前,大的在后。返回排序后的數(shù)組
 語法:array.sort([compareFunction])
 參數(shù)含義:
     compareFunction 若無此函數(shù),默認每項調(diào)用toString()轉(zhuǎn)為字符串再根據(jù)各字符的unicode進行排序。
     如有 此函數(shù)有兩個參數(shù)
     firstEl 第一個用于比較的元素
     secondEl 第二個用戶比較的元素
     如果compareFunction(firstEl,secondEl)小于0,那么firstEl排在secondEl之前
     如果compareFunction(firstEl,secondEl)等于0,那么位置不變
     如果compareFunction(firstEl,secondEl)大于0,那么firstEl排在secondEL之后 
  例子:
       ```
           function compareFunction(a,b){
               return a - b;
           }
           var arr = [2,3,1,8,5,4];
           arr.sort(compareFunction)
           console.log(arr);// 按升序排列 [1,2,3,4,5,8]
           
           //也可以按照對象中某一個屬性排序
           function compare(a,b){
               return a.age - b.age;
           }
           var list = [
               {"name":"cherry","age":18},
               {"name":"meimei","age":16},
               {"name":"apple","age":20},
           ];
           list.sort(compare);
           console.log(list);
           //[{"name":"meimei","age":16},{"name":"cherry","age":18},{"name":"apple","age":20}
       ```

3.2 reverse (改變原數(shù)組)

功能:將數(shù)組中元素的位置顛倒,并返回該數(shù)組
語法:array.reverse()
例子:
     ```
         var arr = [1,2,3,4,5];
         arr.reverse(); //  [5,4,3,2,1]
     ```

3.3 forEach (不一定)

功能:為數(shù)組每個元素執(zhí)行函數(shù)
語法:array.forEach(callback[,thisArg])
參數(shù)解釋:
    callback 數(shù)組中每個元素執(zhí)行的函數(shù),接受三個參數(shù)
        currentValue 數(shù)組中遍歷的當前元素
        index 數(shù)組中遍歷的當前元素的下標
        array 當前數(shù)組
    thisArg 執(zhí)行回調(diào)是用作this的值(可選)
描述:forEach本身是不會改變數(shù)組的,但如果回調(diào)函數(shù)中改變原數(shù)組就會改變   
例子:
     ```
        var arr = [1,2,3,4,5];
        arr.forEach(function(currentValue,index){
            arr[index] = currentValue + 10;
        });
        console.log(arr);//[11,12,13,14,15]
     ```

3.4 map (不改變)

功能:對數(shù)組中每個元素執(zhí)行回調(diào)函數(shù),返回新數(shù)組
語法:array.map(callback(currentValue[,index[,array]])[,thisArg])
參數(shù)解釋:
    callback 每一項都會調(diào)用的函數(shù),有三個參數(shù)
        currentValue 數(shù)組遍歷的當前元素
        index 數(shù)組遍歷的當前元素的下標
        array 當前遍歷的數(shù)組
    thisArg 回調(diào)函數(shù)使用的this對象
描述:該函數(shù)返回的是由每一項元素調(diào)用函數(shù)的返回值得結(jié)果
例子:
    ```
       // 例子1 平方根
       var arr = [1,4,9];
       var roots = arr.map(function(currentValue){
           return Math.sqrt(currentValue);
       }) // arr的值為 [1,4,9] roots的值為[1,2,3]
       // 例子2  string如何使用map
       var map = Array.prototype.map
       var charCodeList = map.call("hello cherry",function(x){
           return x.charCodeAt(0);
       })
       //charCodeList的值[99, 104, 101, 114, 114, 121]
   ```

3.5 filter (不改變)

功能:過濾。返回包含所有滿足函數(shù)的元素的數(shù)組。不改變原數(shù)組
語法:array.filter(callback(currentValue[,index[,array]])[,thisArg])
參數(shù)解釋:
     callback 自定義每個元素要執(zhí)行的函數(shù),有三個參數(shù)
         currentValue 當前遍歷的元素
         index 當前遍歷的元素的下標
         array 當前數(shù)組
     thisArg
         用于函數(shù)中的this對象
例子:
   ```
     var name = ["cherry", "qq", "qian", "apple"];
     var filterItems = (query) => {
             return name.filter((el)=>
                 el.toLowerCase().indexOf(query.toLowerCase()) > -1
         }
   ```
   

3.6 fill(改變原數(shù)組)

    功能:用一個固定值填充一個數(shù)組中從起始索引到終止索引的全部元素。不包括終止索引。
    語法:array.fill(value[,start[,end]])
    參數(shù)解釋:
         value 要填充的值
         start 開始填充的索引值 默認值為0
         end 終止填充的索引值 默認值為this.length
    例子:
       ```
         var arr = [1,2,3,4];
         arr.fill(0,2,4); //arr的值為 [1,2,0,0]
       ```

3.7 reduce(不改變原數(shù)組)

   功能:對每個數(shù)組項執(zhí)行callback函數(shù),每次函數(shù)執(zhí)行有一個結(jié)果,最后返回迭代的最終結(jié)果
   語法:array.reduce(callback(accumulator, currentValue[,index[,arr]])[,initValue])
   參數(shù)解釋:
       callback 每個元素要執(zhí)行的函數(shù),有四個參數(shù)
           accumulator 累計值,上一個元素調(diào)用函返回的累計值
           currentValue 當前遍歷的元素
           index 當前遍歷的元素的下標
           arr 當前的數(shù)組
       initValue 給accumulator的初始值,如果未提供accumulate默認為數(shù)組的第一個值
   描述:如果一個數(shù)組有4個值。
        無initValue時函數(shù)會調(diào)用三次,有initValue時函數(shù)調(diào)用4次
   例子:
       ```
          var arr = [1,2,3,4];
          var total = arr.reduce((accumulator,currentValue) => {
              return accumulator + currentValue
          })
          //total的值為 1+2+3+4 = 10
       ```

3.8 reduceRight(不改變原數(shù)組)

   功能:對每個數(shù)組項執(zhí)行callback函數(shù),每次函數(shù)執(zhí)行有一個結(jié)果,最后返回迭代的最終結(jié)果(從右到左)
   語法:array.reduceRight(callback(currentValue[,index[,array]])[,initValue])
   參數(shù)解釋:
        callback 每個元素要執(zhí)行的函數(shù) 有四個參數(shù)
            previousValue 上次調(diào)用的返回值
            currentValue 當前遍歷的元素
            index 當前遍歷的元素的下標
            array 當前遍歷的數(shù)組
        initValue  若有:則是給 previousValue的初始值,
                   若無 previousValue的初始值就是數(shù)組的最后一個元素
   例子:
       ```
           var arr = [[1,2],[3,4],[5,6]];
           var newArr = arr.reduceRight(function(result,current,index){
               return result.concat(current);
           });
           //newArr的值 [5, 6, 3, 4, 1, 2] arr的值不變
       ```      

3.9 some(不改變原數(shù)組)

   功能:檢測數(shù)組中至少有一個元素滿足該函數(shù)則返回 true,否則返回false
   語法:array.some(callback(currentValue[,index[,array]])[,thisArg])
   參數(shù)解釋:
        callback 用來檢測數(shù)組的回調(diào)函數(shù) 接受三個參數(shù)
            currentValue 當前遍歷到的元素
            index 當前遍歷的元素的下標  
            array 當前遍歷的數(shù)組    
        thisArg  在回調(diào)函數(shù)中this的值
   例子:
       ```
           var arr = [1,2,3,4,5];
           var result = arr.some(function(currentValue){
               return currentValue%2;
           });//result 為 true
       ```

3.10 every(不改變原數(shù)組)

   功能:檢測數(shù)組中是否每個元素都滿足函數(shù)條件,都滿足返回true,否則返回false
   語法:array.every(callback(currentValue[,index[,array]])[,thisArg])
   參數(shù)解釋:同上
   例子:
       ```
           var arr = [1,2,3,4,5];
           var result = arr.every(function(currentValue){
               return currentValue < 10;
           });
           // result 為 true
       ```

3.11 keys(不改變原數(shù)組)

   功能:返回一個新的數(shù)組迭代器,包含每個元素的索引
   語法:array.keys()
   例子:
       ```
           var arr = ["cherry","qq","zhang"];
           var iterator = arr.keys();
           for(let key of iterator){
               console.log(key);//打印出 0 1 2
           }
       ```

3.12 values(不改變原數(shù)組)

   功能:返回一個新的數(shù)組迭代器,包含每個元素的值
   語法:array.values()
   例子:
       ```
           var arr = ["cherry","qq","zhang"];
           var iterator = arr.values();
           for(let value of iterator){
               console.log(value);//打印出 cherry qq zhang
           }
       ```

3.13 flatMap(不改變原數(shù)組)

   功能:每個元素調(diào)用數(shù)組,然后將結(jié)果壓縮成一個新數(shù)組。與map和flat(1)幾乎相同。但是效率高一些
   語法:array.flatMap(callback(currentValue[,index[,array]])[,thisArg])
   參數(shù)解釋:與3.10一樣
   例子:
       ```
           var arr1 = [1,2,3,4];
           arr1.map(item=>[item * 2]);//返回新數(shù)組 [[2],[4],[6],[8]]
           arr1.flatMap(item=>[item * 2]);//返回新數(shù)組 [2,4,6,8]
           arr1.flatMap(item=>[[item * 2]]);//返回新數(shù)組 [[2],[4],[6],[8]] 只會將新數(shù)組解開一層
           var arr = ["hello","","world"];
           arr.map(item=>item.split(""));
           //返回新數(shù)組[["h","e","l","l","o"],[""],["w","o","r","l","d"]]
           
           arr.flatMap(item=>item.split(""));
           //["h","e","l","l","o","","w","o","r","l","d"]
       ```

   等價操作:
   
       ```
           // 與上面的第一個使用flatMap的例子等價
           var arr1 = [1,2,3,4];
           arr1.reduce((acc,current)=> acc.concat([current * 2 ]),[]);
           // 返回結(jié)果 [2,4,6,8]   
       ```

其他
4.1 isArray

  功能:用于檢測一個參數(shù)是否為數(shù)組
  語法:Array.isArray(args)
  例子:

       ```
           Array.isArray([1,2,3,4]);//true
           Array.isArray(Array.prototype);//true 其實Array.prototype也是一個數(shù)組
           Array.isArray({});//flase
       ```

4.2 from

  功能:從一個**類似數(shù)組或可迭代對象**中創(chuàng)建一個新的,淺拷貝的數(shù)組實例。返回數(shù)組。
  語法:Array.from(arrayLike[,mapFn[,thisArg]])
  參數(shù)解釋:
      arrayLike 類數(shù)組,可迭代的對象
      mapFn 數(shù)組中每個元素都會執(zhí)行的函數(shù)
      thisArg 函數(shù)中的this對象
  描述:如果說有mapFn的情況下,其實就相當于Array.from(args).map(callback[,thisArg])
  例子:
       ```
           Array.from("foo");//["f","o","o"];//會把字符串變成數(shù)組
           Array.from(["foo",window]);//["foo",window]
           Array.from(new Map([[1,2],[3,4]]));//[[1,2],[3,4]]
           var obj = {"name":"cherry","sex":"女"};
           Array.from(obj);//[] 并不是可迭代的類數(shù)組,所以返回[]
           Array.from(false);//[]
           Array.from(true);//[]
       ```
  

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/106045.html

相關(guān)文章

  • (轉(zhuǎn))JavaScrit常用數(shù)組算法總結(jié)

    摘要:原文地址不管是在面試中還是在筆試中,我們都會被經(jīng)常問到關(guān)于數(shù)組的一些算法,比方說數(shù)組去重數(shù)組求交集數(shù)組擾亂等等。今天抽點時間把中的一些常用的數(shù)組算法做一下總結(jié),以方便大家面試筆試或者日常開發(fā)過程中用到。 原文地址:http://www.cnblogs.com/front-... 不管是在面試中還是在筆試中,我們都會被經(jīng)常問到關(guān)于javascript數(shù)組的一些算法,比方說數(shù)組去重、數(shù)組求...

    warnerwu 評論0 收藏0
  • ES6常用數(shù)據(jù)方法總結(jié)

    摘要:以上個方法及以上才支持。不過可以通過轉(zhuǎn)義支持低版本。以上均不改變原數(shù)組。讓數(shù)組的前后兩項進行某種計算,返回最終操作的結(jié)果。 1. forEach() let array = [1,2,3,4]; array.forEach((item, index, array) => {   console.log(item); }); forEach會遍歷數(shù)組, 沒有返回值, 不允許在循環(huán)體內(nèi)寫r...

    gitmilk 評論0 收藏0
  • 數(shù)組常用方法總結(jié)

    摘要:不會改變原數(shù)組的方法方法返回一個新的數(shù)組對象,這一對象是一個由和不包括決定的原數(shù)組的淺拷貝。遍歷數(shù)組的方法方法對數(shù)組的每個元素執(zhí)行一次提供的函數(shù)。 不會改變原數(shù)組的方法 slice() 方法返回一個新的數(shù)組對象,這一對象是一個由 begin和 end(不包括end)決定的原數(shù)組的淺拷貝。原始數(shù)組不會被改變。 //語法: arr.slice(); // [0, end] arr.sli...

    Karuru 評論0 收藏0
  • JS 數(shù)組常用API方法和遍歷方法總結(jié)

    摘要:數(shù)組語法功能遍歷數(shù)組,返回回調(diào)返回值組成的新數(shù)組,不改變原數(shù)組,不會對空數(shù)組進行檢測語法功能無法,可以用中來停止,不改變原數(shù)組語法功能過濾,返回過濾后的數(shù)組,不改變原數(shù)組,不會對空數(shù)組進行檢測語法功能有一項返回,則整體為,不改變原數(shù)組語法 數(shù)組 (array) ES5 * map 語法:[].map(function(item, index, array) {return xxx})功...

    TNFE 評論0 收藏0
  • 「JavaScript」Array方法的詳細總結(jié)常用數(shù)組操作(附完整示例)

    摘要:數(shù)組索引只是具有整數(shù)名稱的枚舉屬性,并且與通用對象屬性相同。利用的解構(gòu)賦值解構(gòu)賦值尾遞歸優(yōu)化遞歸非常耗內(nèi)存,因為需要同時保存成千上百個調(diào)用幀,很容易發(fā)生棧溢出。而尾遞歸的實現(xiàn),往往需要改寫遞歸函數(shù),確保最后一步只調(diào)用自身。 一.前言 因為在工作當中,經(jīng)常使用到js的數(shù)組,而其中對數(shù)組方法的使用也是很頻繁的,所以總是會有弄混或者概念不夠清晰的狀況,所以,寫下這篇文章整理一番,本文有對幾乎...

    Alfred 評論0 收藏0
  • js 中數(shù)組的常用方法總結(jié)

    摘要:在為的位置,刪除個元素,插入刪了為的元素,替換為刪了為的元素數(shù)組的增刪改都可以用完成返回從原數(shù)組中指定開始下標到結(jié)束下標之間的項組成的新數(shù)組該方法不會改變原始數(shù)組。不傳值表示克隆了除了正常用法,經(jīng)常用來將對象轉(zhuǎn)換為。 js 中數(shù)組的常用方法總結(jié) arr.fill(a);//所有子元素 都改為 a; [{a: 1},{b: 2}, ...Array(8).fill({}, 0)] //...

    luckyw 評論0 收藏0

發(fā)表評論

0條評論

Rocture

|高級講師

TA的文章

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