Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从映射函数返回未定义-代码战争_Javascript_Arrays - Fatal编程技术网

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:-)