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

資訊專欄INFORMATION COLUMN

數組 es5 常用方法

TIGERB / 489人閱讀

摘要:通常我們在項目過程中,難免會碰到各種對于數組的操作,或是是一些業務邏輯中,使用數組自帶方法,可以更加靈活的達到預期效果。

通常我們在項目過程中,難免會碰到各種對于數組的操作,或是是一些業務邏輯中,使用數組自帶方法,可以更加靈活的達到預期效果。

這里對一些常用的數組方法進行總結,順便記錄下使用中的小技巧,方便后面進行查詢

forEach

使用頻率最高的數組遍歷方法,效果與for循環相似,對數組中每一項進行遍歷,但時間效率要比for 循環低,從代碼簡潔上看,推薦使用forEach,如果在有條件的情況下進行遍歷時,推薦使用some 和 every 進行遍歷,會在滿足具體條件后停下,節約不必要的循環

  
    [1,2,3].forEach(function(value, index, array) {
        cosole.log(value);                                
    });

  // output 
  //   1
  //   2
  //   3

對應的在jQUery 中也實現了相同功能的遍歷方法 $.each(),對選中的數組或者對象進行遍歷,這里還有$().each() 在dom 操作中使用較多,表示對子元素集合進行遍歷。詳細解釋

 $.each([1,2,3],function(){
   console.log(this);
 }
// output 
   1
   2
   3

// 對象進行遍歷
 $.each({a:1,b:2,c:3},function(key,val){
       console.log(obj[key])
  })
// output 
    1
    2
    3
map

對舊數組進行"映射",同時生成對應的新數組,用法簡單,不改變原來的舊數組

var data = [1, 2, 3, 4];
var arrayOfSquares = data.map(function (item) {
        return item * item;
});

最后返回的新的數組arrarOfSquares [1,4,9,16]

filter

數組過濾方法,返回判斷條件為true 的數組項形成的數組,不改變原數組

var arrayFilter = [1,2,3,4,5].filter(function(item,index){
                  rerutn item>3; 
           })
 console.log(arrayFilter);
 // output  [4,5]
some

數組中的判斷方法,更邏輯運算中的或操作非常相似,|| ,只要數組中有任何一項滿足條件,就返回true,并且停止后面的遍歷.所以some方法在實際使用中也可以計較準確的找到指定數組項的同時,得到相應的下標,更indexOf 方法有一些類似

[1,2,3,4,5].some(function(item,index){
                        console.log(index);
                        return item<3;
         }) 
   // output  0;
  

數組在遍歷的過程中,在第一個數組項處就停止循環了,并且整個數組返回 true

find

找到符合條件的第一個數組元素,與filter 類,如果沒有找到任何一個就返回undefined

var inventory = [
    {name: "apples", quantity: 2},
    {name: "bananas", quantity: 0},
    {name: "cherries", quantity: 5}
];

function findCherries(fruit) { 
    return fruit.name === "cherries";
}

console.log(inventory.find(findCherries)); 
// { name: "cherries", quantity: 5 }
every

與some方法相反的效果,只有數組中所有的項全都滿足條件,就會返回true,與邏輯運算中的與,&& 操作類似

if([1,2,3,4,5].every(functionI(item,index){
                       console.log(index);
                       return item<3;
               })
     // output 0,1,2;

在帶條件的遍歷中,every 使用頻率比較高。既可以得到滿足條件的數組項,也可以判斷數組項中所有的值情況。

indexOf

查找匹配的項, 返回匹配的索引值,如果沒有匹配,則返回-1,在搭配邏輯運算中非運算時 ~ ,有意想不到的效果

      ~ value 值, 當value = -1 的時候,得到的才是0; false
                    其他任何值的時候,等到的是非0,   true
 if(!~[1,2,3,4,5].indexOf(1)){
       cnosole.log()
}

對于上面這種情況,在數組中沒有滿足條件的數組項時,才會返回true,如果有滿足條件的數組項,就會返回false,對于處理一些特定的業務邏輯有非常奇妙的效果

lastIndexOf

從后往前找,返回匹配項的索引值,如果沒有匹配的話,就返回 -1,

reduce

遞歸遍歷

var sum = [1,2,3,4].reduce(function(previous,current,index,array){
                        return previous + current;
                  });
              console.log(sum);
            // output 10;

默認是從 第一個元素開始遍歷,

reduceRight
從后往前進行遞歸遍歷

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

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

相關文章

  • JavaScript es5中的Array常用的forEach、map、filter、indexOf

    摘要:的的區別和相同之處就是數組的遍歷循環,回調支持三個參數,第個是遍歷的數組內容第個是對應的數組索引,第個是數組本身他是沒有返回值得,不需要再下面,更進一步,除了接受一個必須的回調函數參數,還可以接受一個可選的上下文參數改變回調函數里面 Array的forEach、map的區別和相同之處 forEach 1、 forEach就是數組的遍歷、循環 ,回調支持三個參數,第1個是遍歷的數組內容;...

    xuexiangjys 評論0 收藏0
  • 細說數組常用遍歷的方法

    摘要:需要返回值,如果不給,默認返回使用場景假定有一個數值數組將數組中的值以雙倍的形式放到數組寫法方法使用場景假定有一個對象數組將數中對象某個屬性的值存儲到數組中三從數組中找出所有符合指定條件的元素檢測數值元素,并返回符合條件所有元素的數組。 showImg(https://segmentfault.com/img/remote/1460000016810336?w=1149&h=524);...

    阿羅 評論0 收藏0
  • 細說數組常用遍歷的方法

    摘要:需要返回值,如果不給,默認返回使用場景假定有一個數值數組將數組中的值以雙倍的形式放到數組寫法方法使用場景假定有一個對象數組將數中對象某個屬性的值存儲到數組中三從數組中找出所有符合指定條件的元素檢測數值元素,并返回符合條件所有元素的數組。 showImg(https://segmentfault.com/img/remote/1460000016810336?w=1149&h=524);...

    AlphaWatch 評論0 收藏0
  • 細說數組常用遍歷的方法

    摘要:需要返回值,如果不給,默認返回使用場景假定有一個數值數組將數組中的值以雙倍的形式放到數組寫法方法使用場景假定有一個對象數組將數中對象某個屬性的值存儲到數組中三從數組中找出所有符合指定條件的元素檢測數值元素,并返回符合條件所有元素的數組。 showImg(https://segmentfault.com/img/remote/1460000016810336?w=1149&h=524);...

    ?xiaoxiao, 評論0 收藏0

發表評論

0條評論

TIGERB

|高級講師

TA的文章

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