【发布时间】:2021-10-18 18:34:52
【问题描述】:
我必须创建一个以数组作为参数的函数,并使用一个 forEach 循环来控制台记录函数内每次迭代的每个元素和每个索引。同样在函数内部声明一个名为count的变量,每次迭代将其加一,然后返回count。
//====================== EXAMPLE ========================
looper([2,4,8,7])
4 // <====== EXPECTED OUTPUT
//=========================================================
我写了这个函数:
function looper(arr) {
arr.forEach(function console (item, index){
var count = 0;
count++;
console.log(("I am item ", item, "I am the index ", index));
return count;
})
}
但我收到以下错误:
VM76:5 Uncaught TypeError: console.log is not a function
at console (<anonymous>:5:17)
at Array.forEach (<anonymous>)
at looper (<anonymous>:2:9)
at <anonymous>:1:1
为什么 console.log 不是函数?不是每个浏览器都预装的吗?
【问题讨论】:
-
您将回调命名为“控制台”,而只是传递一个匿名函数,同样,从
forEach()返回没有任何效果,它总是根据其定义返回undefined。 -
正如@pilchard 所说,您将函数命名为控制台,这就是为什么
.log上不存在它的原因,而且您的返回语句必须在forEach循环之外才能返回值 -
你不能使用
console作为名字的函数。替换为:arr.forEach(function(item, index){
标签: javascript function loops foreach