当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。