ホームページ > ウェブフロントエンド > jsチュートリアル > jsイテレータメソッドについて

jsイテレータメソッドについて

小云云
リリース: 2017-12-06 15:03:10
オリジナル
2080 人が閲覧しました

イテレータは、標準テンプレート ライブラリ コンテナ内の一部またはすべての要素を走査するために使用できるオブジェクトです。各イテレータ オブジェクトは、コンテナ内の特定のアドレスを表します。 js 配列の反復子メソッドには 2 種類あります。1 つは新しい配列を生成しないもの、もう 1 つは新しい配列を生成するものです。

最初のメソッド: 新しい配列を生成せず、代わりに配列内の各要素に対して何らかの操作を実行するか、値を返します。

1. forEach() メソッド。関数をパラメーターとして受け取り、配列内の各要素にその関数を使用します。

<script>
 function arr(num){console.log(num+1)};
 var array = [1,2,3,4,5,6];
 array.forEach(arr);
</script>
ログイン後にコピー

2.every() と some() はどちらのメソッドも戻り値がブール型である関数を受け入れ、配列内の各要素に対してこの関数を使用します。関数がすべての要素に対して true を返す場合、every() メソッドは true を返します。 some() メソッドは、1 つの要素がこの関数を使用して true を返す限り、true を返します。

<br/>

<script>
 var  arr = [1,3,4,5,6,7,8];
function even(num){return num%2 ==0};
var sum = arr.every(even);
var  nums = arr.some(even);
console.log(sum)//false;
console.log(nums)//true;
ログイン後にコピー
</script>
ログイン後にコピー

3.reduce() メソッドは関数を受け取り、値を返します。このメソッドは累積値から開始し、累積値と配列内の後続の要素に対して、配列の最後の要素まで関数の呼び出しを続け、最後に累積値を返します。文字列配列要素を長い文字列に連結することもできます

<br/>

function add(total,num){return total+-*/num};
var arr =[1,2,3,4];
var sum = arr.reduce(add);
ログイン後にコピー

js には、reduceRight() メソッドも用意されています。違いは、その順序が右から左へまったく逆であることです。 。 <br/>2 番目のメソッド 新しい配列を生成するイテレーター メソッド

新しい配列を生成できるイテレーター メソッドは 2 つあります:map() と filter()。 map() は、配列内の各要素に対して関数を使用する forEach() に少し似ています。この 2 つの違いは、map() が元の要素に関数を適用した結果である新しい配列を返すことです。

<br/>

   function add(num) {
        return num+=5;
    }
    var words =[1,2,3,4,5];
    var sum =words.map(add);
console.log(sum);//[6,7,8,9,10]
ログイン後にコピー

filter() は、戻り値がブール型である関数を渡す、every() と似ています。every() との違いは、関数が配列内のすべての要素に適用されるときの結果です。が true の場合、このメソッドは true を返しませんが、関数を適用した結果が true となる要素を含む新しい配列を返します。

<br/>

    function add(num) {
        return num%2 == 0;
    }
    var words =[1,2,3,4,5];
    var sum =words.filter(add);
console.log(sum);//[2,4];
ログイン後にコピー
<br/>
ログイン後にコピー

filter() を使用して文字列配列をフィルタリングすることもできます。例:

<br/>

function add(str){if(str).indexOf("cie")>-1){return true;}return false;}
var words =["recieve","deceit","deceive"]
var miss = words.filter(add);
console.log(miss)//["recieve"]
ログイン後にコピー

上記の内容は js イテレータ メソッドに関するもので、皆様のお役に立てれば幸いです。

関連する推奨事項:

PHPイテレータを使用してフィボナッチ数列関数を実装する方法の分析例

PHPのイテレータとは何ですか

JavaScriptイテレータパターンの実装方法と使用例の詳細な説明

以上がjsイテレータメソッドについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート