要素を条件付きで分割する

書式

enumObj.partition(iterator)

enumObj : 列挙型オブジェクト
iterator : イテレータ関数【省略可能】

説明

要素を条件付きで2つに分割するにはpartition()を使います。パラメータを指定しない場合は単純に0, null, undefinedと、それ以外の配列に分割されます(戻り値は二次元配列となり最初の要素が0, null, undefined以外、2番目の要素が0, null, undefinedになります)。パラメータに処理(イテレータ)関数を指定した場合は、関数からの戻り値がtrueとそうでない場合に分割されます。

サンプルコード [実行]

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript"><!--
window.onload = function() {
ary = [1,2,4,0,5,"",9,null,23].partition();
$("result").innerHTML += "真:"+ary[0]+"<br>偽:"+ary[1]+"<br>";
ary = [1,2,4,10,5,3,9,23].partition(function(value, index){
return (value >=10) ? true : false;
});
$("result").innerHTML += "10以上:"+ary[0]+"<br>10未満:"+ary[1];
}
// --></script>
</head>
<body>
<h1>partitionサンプル</h1>
<div id="result"></div>
</body>
</html>