Prototype - Enumerable partition() 方法



此方法将元素划分为两组 -

  • 视为真。
  • 视为假。

默认情况下,使用常规 JavaScript 布尔等价性,但可以提供一个计算元素的布尔表示的迭代器。

与同时使用 findAll/select 和 reject 相比,这是一个更好的解决方案:它仅遍历元素一次!

可选的 context 参数是迭代器函数将绑定到的参数。如果使用,则迭代器内部的 this 关键字将指向参数给出的对象。

语法

Iterator.partition([context]);

返回值

返回一个形式为 [[真值数组],[假值数组]] 的数组。

示例

<html>
   <head>
      <title>Prototype examples</title>
      <script type = "text/javascript" src = "/javascript/prototype.js"></script>
      
      <script>
         function showResult() {
            var arr = ['hello', null, 42, false, true, , 17].partition();

            alert("Test 1 : " + arr.inspect() );
            // Returns [['hello', 42, true, 17], [null, false, undefined]]

            var arr = $R(1, 10).partition(function(n) {
               return 0 == n % 2;
            })

            alert("Test 2 : " + arr.inspect() );
            // Returns   [[2, 4, 6, 8, 10], [1, 3, 5, 7, 9]]
         }
      </script>
   </head>

   <body>
      <p>Click the button to see the result.</p>
      <br />
      <br />
      <input type = "button" value = "Result" onclick = "showResult();"/>
   </body>
</html>

输出

prototype_enumerating.htm
广告