JavaScript 配列の filter() メソッド


JavaScript Array filter() メソッド

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网</title>
</head>
<body>

<p>点击按钮获取数组中大于 18 的所有元素。</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
var ages = [32, 33, 16, 40];
function checkAdult(age) {
    return age >= 18;
}
function myFunction() {
    document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
</script>

</body>
</html>

インスタンスを実行する»

「インスタンスを実行」ボタンをクリックしてオンラインインスタンスを表示します


定義と使用法

filter() メソッドはnew array の場合、条件を満たす指定された配列内のすべての要素をチェックすることによって、新しい配列内の要素がチェックされます。

注: filter() は空の配列を検出しません。

注: filter() は元の配列を変更しません。


ブラウザのサポート

表内の数字は、このメソッドをサポートする最初のブラウザのバージョン番号を示します。

3.png


構文

array.filter(function(currentValue,index,arr), thisValue)

パラメータの説明

パラメータ説明
function(currentValue,index,arr)必須。関数、配列内の各要素がこの関数を実行します
関数パラメータ:
パラメータの説明 currentValue である必要があります。現在の要素の値インデックスはオプションです。現在の要素のインデックス値 arr はオプションです。現在の要素が属する配列オブジェクト
thisValue はオプションです。オブジェクトは実行コールバックとして使用され、関数に渡され、「this」の値として使用されます。
thisValueを省略した場合、thisの値は「未定義」になります

技術詳細

戻り値:条件を満たすすべての要素を含む配列を返します。一致する要素がない場合は、空の配列が返されます。
JavaScript バージョン:1.6

その他のインスタンス

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网</title>
</head>
<body>

<p>点击按钮返回数组 ages 中所有元素都大于输入框指定数值的元素。</p>
<p>最小年龄: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">点我</button>
<p>所有大于指定数组的元素有? <span id="demo"></span></p>
<script>
var ages = [32, 33, 12, 40];
function checkAdult(age) {
    return age >= document.getElementById("ageToCheck").value;
}
function myFunction() {
    document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
</script>

</body>
</html>

インスタンスを実行する »

オンラインで表示するには、[インスタンスを実行]ボタンをクリックしてくださいインスタンス