listTodos()
関数では、ループのプレースホルダー引数i
が配列のインデックス番号を吐き出す方法/理由がわかりません。私には、プレースホルダ/引数の両方が同じことをするように思われます。なぜなら、それらがどのように指定されているか把握できないからです。Javascript配列と.forEachループ引数
以下の理由で、コンソールにログが記録されない理由を理解できません。"Buy New Turtle: Buy New Turtle"
:"0: Buy New Turtle"
。ここで
todos.forEach(function(todo, i) {
console.log(i + ": " + todo);
全体の "藤堂リスト" JSコードです:
var todos = ["Buy New Turtle"];
var input = prompt("What would you like to do?");
while(input !== "quit") {
if(input === "list") {
\t listTodos();
}
else if(input === "new") {
\t addTodo();
}
else if(input === "delete") {
\t deleteTodo();
}
input = prompt("What would you like to do?");
}
console.log("OK YOU QUIT THE APP");
function listTodos() {
\t console.log("**********")
\t todos.forEach(function(todo, i) {
\t console.log(i + ": " + todo);
});
console.log("**********");
}
function addTodo() {
\t var newTodo = prompt("Enter new todo");
\t todos.push(newTodo);
\t console.log("Added Todo");
}
function deleteTodo() {
\t var index = prompt("Enter Index of Todo to Delete");
\t todos.splice(index, 1);
\t console.log("Deleted Todo");
}
だから... ...私はここに何の意味もいるのでしょうか?誰かが私のためにこれをクリアすることはできますか?ありがとう!
'.forEach()'コールバックに渡される第2引数はインデックスです。最初の引数は配列の値です。配列自体も3番目のパラメータとして渡します。 – Pointy
* "todos.forEachループのi個のプレースホルダ引数が配列のインデックス番号を吐き出す方法/理由を理解できません" *これはforEachがどのように設計されたかの理由によるものです。あなたはそれについて他に何を知りたいですか? –
[これは '.forEach()'のMDNページです。](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) – Pointy