Javascript 从映射函数返回未定义-代码战争
我得到了一个满是整数的数组,我想用每个整数及其跟随者的平均值创建一个新数组。为了实现这一点,我尝试使用Javascript 从映射函数返回未定义-代码战争,javascript,arrays,Javascript,Arrays,我得到了一个满是整数的数组,我想用每个整数及其跟随者的平均值创建一个新数组。为了实现这一点,我尝试使用map功能 var arr = [1,2,3,4]; arr.map(function(a, b){ return (a + b / 2); }); 我相信这是可行的,就像我在控制台中运行它一样,一切都按预期工作,但是问题是它在设置挑战的地方返回未定义。这个我遗漏了什么愚蠢的东西吗?您可以使用回调参数,即元素本身、索引和对数组的引用。然后将结果赋给一个变量并跳过第一个元素,因为您可以根
map
功能
var arr = [1,2,3,4];
arr.map(function(a, b){
return (a + b / 2);
});
我相信这是可行的,就像我在控制台中运行它一样,一切都按预期工作,但是问题是它在设置挑战的地方返回未定义。这个我遗漏了什么愚蠢的东西吗?您可以使用回调参数,即元素本身、索引和对数组的引用。然后将结果赋给一个变量并跳过第一个元素,因为您可以根据需要再获得一个元素
var arr=[1,2,3,4],
结果=arr.map(函数(a、i、aa){
回报率(aa[i-1]+a)/2;
});
result.shift();
控制台日志(结果)代码>基本解决方案可能是迭代
foo = function(arr){
var result=[];
for( var i=0; i<arr.length-1; i++) {
result.push((arr[i]+arr[i+1])/2)
}
return result;
}
foo=函数(arr){
var结果=[];
对于(var i=0;i您应该理解map()或reduce()或filter您的答案中存在语法错误。感谢您回答tho:-)