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


underscore.js reject()用法及代碼示例


Underscore.js是一個JavaScript庫,提供了許多有用的函數,即使在不使用任何內置對象的情況下,也可以極大地幫助您進行編程,例如映射,過濾,調用等。
_.reject()函數用於給出與給定條件不匹配的答案。它用於從列表中找出不滿足給定條件的那些元素,然後僅對其進行更改。當列表中的所有元素都傳遞給函數/迭代並且沒有更多元素保留時,_.reject()循環結束。它與_.filter()函數相反,因為過濾器會選擇那些滿足給定條件的項目。

用法:

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

參數:此函數接受上述和以下所述的三個參數:


  • List:此參數包含元素列表。
  • Predicate:此參數包含用於拒絕元素的條件。
  • Context:它是用於顯示的文本。它是可選參數。

返回值:此函數返回不滿足_.reject()函數條件的元素數組。

將數字列表傳遞給_.reject()函數:._reject()函數將列表中的元素一個接一個地進行,並對代碼進行操作。下麵是從列表中查找奇數元素的示例。

例:

<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 odds = _.reject([1, 2, 3, 4, 5, 6],  
                           function(num){ return num % 2 == 0; }); 
              console.log(odds);  
        </script> 
    </body>  
</html>

輸出:

將結構傳遞給_.reject()函數:在將應用條​​件的基礎上,選擇項目的一個屬性。下麵使用了“已禁用”屬性。由於“ item2”沒有禁用的屬性,因此將其拒絕並作為輸出提供。

例:

<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 data = { 
                stuff: { 
                    item1: { 
                        name: "one", 
                        disabled: true 
                    }, 
                  item2: { 
                        name: "two" 
                    } 
                } 
            }; 
            data.stuff = _.reject(data.stuff, function(val) { 
                return val.disabled; 
            }); 
        console.log(data.stuff); 
        </script> 
    </body> 
</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( _.reject({one: 1, two: 2, three: 3}, function(val, key){ 
                  return val === 2; 
             })); 
        </script> 
    </body>   
</html>

輸出:

一起使用兩個_.reject()函數:將不同的對象傳遞給每個_.reject()函數,然後通過使用&&,|| 、!之類的邏輯運算符一起使用以下結果此處,兩個對象和兩個數組列表均被拒絕,因為它們不滿足給定條件,因此將它們作為輸出給出。

例:

<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 (_.reject(arraylist1) && _.reject(object1)) { 
                    console.log('arraylist1 and object1 are valid'); 
             } 
             if (_.reject(arraylist2) && _.reject(object2)) { 
                    console.log('arraylist2 and object2 do not have all items valid'); 
             } 
        </script> 
    </body>   
</html>

輸出:



相關用法


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