【发布时间】:2017-02-04 01:55:47
【问题描述】:
我试图让我的函数映射应用于数组的每个元素,然后返回新数组。谁能告诉我为什么这不起作用?
function addTwo(num)
{
return num+2;
}
function map(array, callback)
{
var new=[];
for(var i=0;i<arr.length;i++)
{
new.push(callback(array[i]));
}
}
var arr=[2,4,6,8];
console.log(map(arr, addTwo));
【问题讨论】:
-
您在控制台中看到错误了吗?问题 1 -
new是保留关键字 - 问题 2 - 您没有使用内置数组方法来简化工作,问题 3 - 您的 map 函数创建一个数组,将内容推送给它,然后什么也不做,你说你想返回新数组,但你的函数没有返回任何东西......不言自明的问题就在那里 -
下次,请描述您遇到的问题,而不是仅仅说它不起作用。
-
扔掉
function map,你会看到console.log(arr.map(addTwo))会做你想做的事 -
谢谢,问题是 new 被保留了。我如何将您标记为已回答问题@JaromandaX
-
不,有 两个 问题 - 您的地图函数没有返回任何内容 - 添加了答案 -
标签: javascript arrays callback