當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


underscore.js _.every用法及代碼示例


Underscore.js 是一個 JavaScript 庫,它提供了許多有用的函數,即使不使用任何內置對象,也能在很大程度上幫助編程,例如映射、過濾器、調用等。 _.every()函數用於測試列表中的所有元素是否可以通過給定的測試。如果至少有一個元素未滿足給定測試,它將停止並返回‘false’。當列表的所有元素都傳遞給函數/迭代並且沒有更多元素剩餘時,_.every 函數將遍曆並且值 false 尚未作為答案返回,然後返回 true 作為最終答案。將數字、字符、數組、對象等傳遞給 _.every 函數。此外,還可以將 _.every() 函數一起使用,例如在 if 循環等中。

用法:

_.every(list, [predicate], [context])

參數:該函數接受如上所述和如下所述的三個參數:

  • List:該參數用於設置元素列表。
  • Predicate:該參數用於測試條件。
  • Context:該參數用於顯示內容。

返回值:返回值是‘true’(當列表中的每個元素滿足給定條件時)或‘false’(當至少一個元素不滿足條件時)將數組傳遞給 _every function():._every()函數從列表中一一取出元素,並對代碼執行指定的操作。下麵的示例包含查找列表中所有有效或無效元素的操作。有效意味著它們不包含Null、Blank、False等。遍曆並檢查所有元素後,每個函數結束。在這裏,即使單個元素無效,那麽答案也是錯誤的。

例子:

html


<html>
    <head>
        <script type="text/javascript" src = 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
        </script>
        <script type="text/javascript" src = 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"></script>
    </head>  
    <body>
        <script type="text/javascript">
              var arrayvalues = [false, true, 'yes', null, 1];
              console.log(_.every(arrayvalues, function (value) {
                  return (value);
              }));
        </script>
    </body> 
</html>

輸出: 將數字列表傳遞給 _.every() 函數:傳遞一個數字列表並對其進行簡單的操作。下麵的例子用於判斷一個數是否為偶數。如果列表中的所有數字都是偶數,則輸出為真的否則錯誤的.例子:

html


<html>  
    <head>
        <script type="text/javascript" src = 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
        </script>
        <script type="text/javascript" src = 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js">
        </script>
    </head>      
    <body>
        <script type="text/javascript">
            console.log(_.every([2, 4, 5], function(num) { return num % 2 == 0; }));
        </script>
    </body> 
</html>

輸出: 將結構傳遞給 _.every() 函數:首先聲明數組(數組的名稱是people)。選擇一項條件進行檢查有長毛。 Console.log顯示最終答案。例子:

html


<html>  
    <head>
        <script type="text/javascript" src = 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
        </script>
        <script type="text/javascript" src = 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js">
        </script>
    </head>      
    <body>
        <script type="text/javascript">
            var people = [
                {name: 'sakshi', car: ''},
                {name: 'aishwarya', car: true},
                {name: 'akansha', car: true},
                {name: 'preeti', car: true}
            ],
       
            hasLongHairs = function (value) {
                return (value.car !== '');
            };
      
            console.log(_.every(people, hasLongHairs));
        </script>
    </body> 
</html>

輸出: 一起使用兩個 _.every() 函數:將不同的對象傳遞給每個 _.every() 函數,然後使用邏輯運算符(如&&,||,!等等。這裏,object1 和 arralist1 包含所有 true 值,因此兩個 true 的結果也將是 true。因此,滿足第一個條件。 object2 包含‘null’,arraylist2 也包含‘null’,因此它們無效。在每個 _.every() 函數之前使用“!”,這樣結果就是兩個真值。例子:

html


<html>  
    <head>
        <script type="text/javascript" src = 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
        </script>
        <script type="text/javascript" src = 
        "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js">
        </script>
    </head>      
    <body>
        <script type="text/javascript">
             var arraylist1 = [true];
             var arraylist2 = [null, {}, undefined, {}];
             var object1 = {prop1: true};
             var object2 = {
                    prop1: null,
                    prop2: true, prop3: true,
             }; 
             if (_.every(arraylist1) && _.every(object1)) {
                    console.log('arraylist1 and object1 are valid');
             }
             if (!_.every(arraylist2) && !_.every(object2)) {
                    console.log('arraylist2 and object2 do not have all items valid');
             }
        </script>
    </body> 
</html>

輸出:



相關用法


注:本文由純淨天空篩選整理自Sakshi98大神的英文原創作品 Underscore.js _.every Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。