currentValue,index,arrayの3種類に決まっているのでしょうか?
それとも、自由に定義出来るのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/10 12:49
回答4件
0
ベストアンサー
決まっていません。何でもいいです。
定義する引数の個数も0個~3個のどれでもいいです。
必要なものだけ定義すればいいと思います。
必要なければ何も定義しなくて構いません。
JavaScript
1var arr = ["a", "b", "c"]; 2 3arr.forEach(function() { 4 // 引数はないがループはする 5}); 6 7arr.forEach(function(v) { 8 // vにcurrentValueが入っている 9}); 10 11arr.forEach(function(v, i) { 12 // vにcurrentValue、iにindexが入っている 13}); 14 15arr.forEach(function(v, i, a) { 16 // vにcurrentValue、iにindex、aにarrayが入っている 17});
投稿2019/07/10 12:52
総合スコア4666
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
引数名は決まっていないです。
どのように返しているかはconsole.log
を入れるとわかります。
var arr = [1, 2, 3]; arr.forEach(console.log); // arr.forEach(function callback(currentValue [, index [, array]]) // 以下の結果から引数が3つあることがわかる // 1 0 [1, 2, 3] // 2 1 [1, 2, 3] // 3 2 [1, 2, 3]
投稿2019/07/10 13:13
総合スコア2937
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
引数名は決まっていません。その時々で適切な名前に変えて大丈夫です。
だからといって第二引数に value
という名前を与えても、インデックスが渡されます。
js
1// value でも良いが、それが HTMLElement であることがわかるように、 elm と名付ける 2[...document.getElementsByTagName('foo')].forEach(elm => console.log(elm));
js
1// かならず値、インデックス、もとの配列、の順番で与えられるので、変数名だけ変えても意味はない 2['foo', 'bar', 'baz'].forEach((val, idx, arr) => console.log(val, idx, arr)) 3/* 4foo 0 (3) ["foo", "bar", "baz"] 5bar 1 (3) ["foo", "bar", "baz"] 6baz 2 (3) ["foo", "bar", "baz"] 7*/ 8 9['foo', 'bar', 'baz'].forEach((idx, arr, val) => console.log(val, idx, arr)) 10/* 11(3) ["foo", "bar", "baz"] "foo" 0 12(3) ["foo", "bar", "baz"] "bar" 1 13(3) ["foo", "bar", "baz"] "baz" 2 14*/
投稿2019/07/10 13:11
総合スコア2982
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
自由に決められます。a,b,cでもokです。第二引数、第三引数を利用しないのなら省略しても構いません。
追記
引数は0個でも大丈夫だそうですね・・・
投稿2019/07/10 13:00
編集2019/07/10 13:03総合スコア351
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。