ES5には多くの新しいものが追加されており、それらを理解することはJavaScriptを書くのに大きな助けになります。たとえば、配列では、簡単で人目を引く方法でループを使用する必要がない場合があります。
次のように、ES5にアレイを作成する新しい方法が追加されました。
foreach(JS v1.6)
マップ(JS v1.6)
フィルター(JS v1.6)
一部(JS v1.6)
すべて(JS v1.6)
indexof(js v1.6)
LastIndexof(JS v1.6)
削減(js v1.8)
Reduceright(JS v1.8)
1. JSで一般的に使用される配列アレイオブジェクトプロパティ:
図に示すように、赤い円でマークされた部分は、ES5に追加された新しい属性です。
2。ブラウザのサポートステータス:
•IE:9+;
•クロム;
•firefox2+;
•Safari 3+;
•オペラ9.5+;
3。位置メソッド
ECMAScript5は、配列の2つの位置メソッドを定義します。 indexof()、lastindexof();
どちらの方法でも、見つけるアイテムと(オプションの)インデックスを検索開始点の位置を示す2つのパラメーターを受け取ります。
その中でも、indexof()は配列の先頭から後方に見始めます(位置0)。
どちらの方法でも、アレイにあるアイテムの位置を返すか、見つからない場合は-1を返す必要があります。
例:
var番号= [1,2,3,4,5,4,3,2,1]; alert(numbers.indexof(4)); //4Alert(Number.lastIndexof(4)); //5ALERT(Number.indexof(4,4)); //5ALERT(Number.lastIndexof(4,4)); // 3
4。反復方法
ECMAScript5は、アレイの5つの反復方法を定義します。
4.1.Every()
定義と使用法:すべての()メソッドは、配列のすべての要素が指定された条件を満たしているかどうかを検出するために使用されます(関数によって提供)。
すべての()メソッドは、指定された関数を使用して、配列内のすべての要素を検出します。
•満たされていない配列で要素が検出された場合、式全体がfalseを返し、残りの要素は再び検出されません。
•すべての要素が条件を満たしている場合、trueを返します。
注:すべて()は空の配列を検出しません。
注:すべて()は元の配列を変更しません。
説明:アレイの年齢のすべての要素が18を超えるかどうかを検出します。
var ages = [32、33、16、40]; function checkadult(age){return age> = 18;} function myfunction(){document.getElementbyId( "demo")。結果は次のとおりです。
間違い;
4.2。いくつかの()
定義と使用法:一部の()メソッドは、配列内の要素が指定された条件(関数によって提供される)を満たすかどうかを検出するために使用されます。
配列内の各アイテムで指定された関数を実行し、関数がいずれかのアイテムに対してtrueを返す場合、trueを返します。
コードは次のとおりです。
var番号= [1,2,3,4,5,4,3,2,1]; var someresult = numbers.some(function(item、index、array){//アイテムは配列値を指します。結果は次のとおりです。
真実;
4.3。フィルター()
定義と使用法:フィルター()メソッドは新しい配列を作成し、新しい配列の要素は、基準を満たす指定された配列のすべての要素に対してチェックされます。
配列内の各アイテムで特定の関数を実行し、trueを返すアイテムの配列を返します。
説明:2を超える値の配列を返すには、コードは次のとおりです。
var番号= [1,2,3,4,5,4,3,2,1]; var filterResult = numbers.filter(function(item、index、array){//アイテムは配列値を指します。結果は次のとおりです。
[3,4,5,4,3]
4.4。地図()
定義と使用法:MAP()メソッドは新しい配列を返し、配列内の要素は関数を呼び出した後の元の配列要素によって処理される値です。
配列内の各アイテムで指定された関数を実行し、各関数呼び出しの結果で構成される配列を返します。
説明:配列の各用語に2を掛け、これらの製品で構成される配列を返します。コードは次のとおりです。
var番号= [1,2,3,4,5,4,3,2,1]; var mapResult = numbers.map(function(item、index、array){//アイテムは配列値を指します;インデックスは配列を指します;配列は配列自体を指します; return item*2;}); alert(mapResult);結果は次のとおりです。
[2,4,6,8,10,8,6,4,2]
4.5。 foreach()
定義と使用法:配列内の各アイテムで指定された関数を実行します。この方法には返品値がありません。
forループを使用して配列を介して反復するのと本質的に同じです。コードは次のとおりです。
var番号= [1,2,3,4]; numbers.foreach(function(item、index、array){console.log(item);});結果は次のとおりです。
1
2
3
4
5。メソッドを削減します
ecmascript5は、アレイを減らすための2つの新しい方法を追加します。
これらの2つのメソッドは、配列内のすべてのアイテムを反復し、最終的な返された値を構築します。その中で、resid()メソッドはアレイの最初のアイテムから始まり、最後まで1つずつ通過します。
ReduceRight()は、配列の最後のアイテムから始まり、最初のアイテムに移動します。どちらの方法も、各アイテムで呼び出される関数と(オプション)狭窄ベースの初期値として(オプション)の2つのパラメーターを受け取ります。
関数は、()reduceright()を減少させ、reduceright()を受信して、前の値、現在の値、アイテムのインデックス、および配列オブジェクトの4つのパラメーターを受け取ります。
説明:redoce()メソッドを使用して、配列内のすべての値の合計を見つける操作を実行します。コードは次のとおりです。
var値= [1,2,3,4,5]; var sum = values.reduce(function(prev、cur、index、array){return prev+cur;}); alert(sum);結果は次のとおりです。
15
上記は、編集者が紹介したJavaScript ES5標準の新しく追加された配列メソッドの関連する知識です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!