Underscore.js _.reject函数

Underscore.js _.reject函数

Underscore.js是一个JavaScript库,它提供了很多有用的功能,对编程有很大的帮助,如地图、过滤器、调用等,甚至不使用任何内置对象。
_.reject()函数用来给出与给定条件不匹配的答案。它用于从列表中找出那些不满足给定条件的元素,然后只对它们进行修改。当列表中的所有元素都被传递给函数/迭代器,并且没有更多的元素留下时,_.reject()循环结束。它与_.filter()函数相反,因为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>

输出:
Underscore.js _.reject函数

向_.reject()函数传递一个结构:选择项目的一个属性,条件将在此基础上应用。下面使用了’disabled’属性。由于’item2’没有disabled属性,所以它被拒绝并作为输出。

示例:

<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>

输出:
Underscore.js _.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">
             console.log( _.reject({one: 1, two: 2, three: 3}, function(val, key){
                  return val === 2;
             }));
        </script>
    </body>  
</html>

输出:
Underscore.js _.reject函数

同时使用两个_.reject()函数:向每个_.reject()函数传递不同的对象,然后通过使用逻辑运算符,如&&、||、!等,将以下结果一起使用。这里,2个对象和2个数组都被拒绝了,因为它们不符合给定的条件,所以它们被作为输出。

示例:

<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>

输出:
Underscore.js _.reject函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程