foreach ()、new ()
7384 ワード
forehat ()
ES 6は配列をループすることができるforeChange ()メソッドを導入しました.既に知っているかもしれない配列は'オブジェクト'型です.文字列、数値、ブール値、未定義、プリミティブデータ型のシンボル型とは異なり.例えば、私たちがコンソールならば.typeof配列を見つけるためにtypeof演算子をログ記録します.
const yummies = ['Ice-cream','Cupcake','Donut','Cupcake'];
console.log(typeof yummies)// will log "object"
さて、これは我々が話しているforeachメソッドの文脈で何を意味しますか.もう少し追跡するために、メソッドはオブジェクトに特有の機能です.したがって、' slice () 'という配列メソッドを適用することができます.' Yummies '配列に適用されたスライスメソッドはスライスされた要素を持つ新しい配列を返します.例えば、
const slicedYummies = yummies.slice(0,3);
console.log(slicedYummies);
*/
will console.log["Ice-cream", "Cupcake", "Donut"]
As the slice() method starts at index 0 and ends just before index 3. Which is index 2,. Therefore, the 2nd Cupcake which is at index 3 isn't present
*/
同様に、JavaScript内の任意の配列でforech ()メソッドを適用できます.このメソッドもパラメータをとります.構文の最初の光沢.文法
関数foreach (関数fxnname ( currenttem , index , arr ), thisarg ){ }
//ここのコード
));
forech ()メソッドは以下のパラメータをとります:
forech ()メソッドの第1パラメータ
最初のパラメータは、配列内の各要素に対して実行される関数です.これはコールバック関数と呼ばれ、順番に3つの引数をとります.
forech ()メソッドの2番目のパラメータ
foreachメソッドが取る2番目のパラメータは以下の通りです.
1.thisg :コールバックを実行している間に使用する値.オプションパラメータ.これは後に別の記事でカバーされています.
Yummies配列のforech ()メソッドを見てみましょう.
yummies.forEach(function logYummies(item,index, yummies){
console.log(item + ' The index is ' + index +' The whole array is: ' + arr);
});
/*
Console.logs the following:
"Ice-cream The index is 0 The whole array is: Ice-cream,Cupcake,Donut,Cupcake"
"Cupcake The index is 1 The whole array is: Ice-cream,Cupcake,Donut,Cupcake"
"Donut The index is 2 The whole array is: Ice-cream,Cupcake,Donut,Cupcake"
"Cupcake The index is 3 The whole array is: Ice-cream,Cupcake,Donut,Cupcake"
*/
上の例では、' out 'メソッドを使用して、OutMatch ()メソッドをYummies配列に適用しますとてもおいしいような表記法.forech ()また、forech ()メソッドは引数としてlogymmiesと呼ばれる関数を受け取ります.この関数は、次の3つのパラメータをとります別の簡単な例を見てみましょう.番号データ型の5つの要素が配列です.したがって、各要素を2倍に倍増したい.
forループでは以下のようになります.
let myMultiplier = [1,2,3,4,5];
for(let i =0; i < myMultiplier.length; i++){
myMultiplier[i] = myMultiplier[i] * 2;
}
console.log(myMultiplier)// will log to [2, 4, 6, 8, 10]
foreachメソッドを使用すると、次のようになります.
myMultiplier.forEach(function multiply(item, index, myMultiplier){
myMultiplier[index] = item * 2
})
console.log(myMultiplier)// will log to [2, 4, 6, 8, 10]
filter ()
ES 6 filter ()メソッドもJavaScriptの配列に作用します.いくつかのフィルタ条件に基づいて配列をフィルター処理し、新しい配列を返します
を指定します.
構文
forech ()メソッドを参照ください.
配列.フィルタ(関数fxnname ( currenttem , index , array )、THISARG ) { }
//コード
));
filter ()メソッドの第1パラメータ
最初のパラメータは、配列の要素で実行される関数です.これはコールバック関数と呼ばれ、順番に3つの引数をとります.
filter ()メソッドの第2パラメータ
フィルタメソッドが取る2番目のパラメータは以下の通りです.
1.thisg :コールバックを実行している間に使用する値.オプションパラメータ.これは後に別の記事でカバーされています.
Yummies配列をフィルターして、複製カップケーキを取り外しましょう
const yummies = ['Ice-cream','Cupcake','Donut','Cupcake'];
const filteredYummies = yummies.filter(function filterYums(currentItem,index,yummies) {
if (yummies.indexOf(currentItem) === index) {
return currentItem;
}
})
console.log(filteredYummies);//will log ["Ice-cream", "Cupcake", "Donut"];
/*
The indexOf() method returns the **index/POSITION** of the first occurrence of a specified string value (example 0,1,2 etc)
The filter() method 'filters' through each index and applies
the indexOf method on an array item at a particular index
We check if the index of the currentItem in the yummies array is it's first occurrence
if so then it is part of the filteredYummies array
So during the 4th iteraton , index or *i* is 3 and the *first* occurrence of *Cupcakes* using yummies.indexOf("Cupcake) was 1.
Therefore 3 === 1 is false
All in All: the indexOf/position of the item in the array should be equal to *i*
*/
sort ()
sort ()メソッドは配列の要素をソートします.デフォルトでは、配列の要素は昇順またはアルファベット順にソートされます.
構文
NameOfArray.sort ()
例:
const yummies = ['Ice-cream','Cupcake','Donut','Cupcake'];
yummies.sort();
console.log(yummies)
/*
console.log will output the following in alphabetical order:
["Cupcake", "Cupcake", "Donut", "Ice-cream"]
*/
たとえば、降順での代替順序に従って並べ替えることもできます.このような場合は、比較関数をsort ()メソッドに渡します.構文は次のようになります.
NameOfArray.ソート( CompareRefunction );
もう一つの例を見て、Z - Aからの降下アルファベット順にYummies配列項目を並べてみましょう.
例2
const yummies = ['Ice-cream','Cupcake','Donut','Cupcake'];
function descendingOrder(a,b){
return b > a;
}
yummies.sort(descendingOrder);
console.log(yummies)// will output ["Ice-cream", "Donut", "Cupcake", "Cupcake"]
Reference
この問題について(foreach ()、new ()), 我々は、より多くの情報をここで見つけました https://dev.to/kauresss/foreach-sort-and-filter-in-javascript-4eテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol