29. array methods
10343 ワード
29. array methods
矢印関数を使用する場合、最も多いのはコールバック関数です.
コールバック関数とは,パラメータとして伝達される関数である.
arrow関数をさらに練習するために、array反復文として使用されるmap
およびforEach
の方法を見てみましょう.
Array.map()
Array.forEach()
29-1. Array.map()
map
メソッドは、配列を繰り返します.コールバック関数で返される値で、各(各)要素を変更します.
map
メソッドの戻り値は、修正された値で再生成される配列である.以上の説明はすべてですが、例をさらに理解するには、本ドキュメントをさらに学習するか、参照してください.
👉 JS Map Function
const arr = [1, 2, 3];
const squares = arr.map(x => x * x);
2行目では、次のように、関数をパラメータmap
に変換します.const squares = arr.map(function (x) {
return x * x;
});
Arrayタイプのデータを繰り返します(要素数単位).繰り返しのたびに実行する関数をパラメータとして渡します.
このコールバック関数は、配列内の要素をパラメータ(x)として受け入れます.
これらの要素を変更する場合は、論理を実装して戻ります.
インデックス内の要素は、返される値に変換されます.
左側のコードペインでmap関数をテストしてください.
29-2. Array.forEach()
forEach
は、for
の代わりに使用される反復文である.map
との大きな違いは、forEach
関数自体が何も返されていないことです.forEach
関数から抜け出したい場合はreturnを使用します.map
は、要素が変更された場合、新しい配列が返されることを示します.forEach
には何の見返りもありません.したがって、
forEach
に渡されたコールバック関数も何も返さない.forEach
は、for
文ではなく、繰り返しの方法です.let startWithNames = [];
let names = ['a', 'ab', 'cbb', 'ada'];
names.forEach(el => {
if (el.startsWith('a')) {
startWithNames.push(el);
}
});
let hasC = false;
let arr = ['a', 'b', 'c', 'd'];
arr.forEach(el => {
if (el === 'c') {
hasC = true;
return;
}
});
forEach
度の関数なので、真ん中から重複文を脱出したい場合は、return;
を作ることができます.forEach
がindex
であることを知りたい場合は、2番目のパラメータを得ることができます.let idxOfC = -1;
let arr = ['a', 'b', 'c', 'd'];
arr.forEach((el, idx) => {
if (el === 'c') {
idxOfC = idx;
return;
}
});
自分で左に書いたんですよね?!Assignment
両方の問題はmap
メソッドとarrow関数を使用します
1.morethan 100関数を実装してください。
数値からなる配列をパラメータとして受信します.
100以上の場合、
100未満の場合は、要素を
true
に変更して、新しい配列を返します.たとえば、
nums(input)가
[100, 9, 30, 7]
이라면
return은
[true, false, false, false]
2.formatDate関数を実装してください。
パラメータとして日付を含む配列を受信します.
日付のデータ型はstringで、送信される日付型は「YYY-MM-DD」です.
日付フォーマットをYYYY年MM月DD日に変更し、新しい配列を返します.
たとえば、
dates(input)가
['2019-03-21', '2019-04-21', '2019-05-21']
이라면
return은
['2019년 03월 21일', '2019년 04월 21일', '2019년 05월 21일']
Reference
この問題について(29. array methods), 我々は、より多くの情報をここで見つけました https://velog.io/@qqbck123/29.-array-methodsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol