javascript - 从 map 函数返回 undefined - 代码 war

标签 javascript arrays

我得到了一个充满整数的数组,我想用每个整数及其跟随者的平均值创建一个新数组。为此,我尝试使用 map 函数。

var arr = [1,2,3,4];

arr.map(function(a, b){
   return (a + b / 2);
});

我相信这是有效的,就好像我在控制台中运行它一样,一切都按预期工作,但问题是它在设置挑战的地方返回未定义。 challenge is set here .有什么我想念的愚蠢的东西吗?

最佳答案

您可以使用 Array#map 的回调参数,它是元素本身、索引和对数组的引用。然后将结果分配给一个变量并跳过第一个元素,因为您可以根据需要再获得一个元素。

var arr = [1, 2, 3, 4],
    result = arr.map(function(a, i, aa) {
        return (aa[i - 1] + a) / 2;
    });

result.shift();
console.log(result);

另一种可能的解决方案 Array#reduce , 哪个映射更多你的尝试。

var arr = [1, 2, 3, 4],
    result = [];

arr.reduce(function(a, b) {
    result.push((a + b) / 2);
    return b;
});

console.log(result);

关于javascript - 从 map 函数返回 undefined - 代码 war ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41139108/

相关文章:

php - 将键数组转换为关联数组

python - 将一行代码从 Numpy Python 转换为 Julia,涉及将一个 2D 数组映射到另一个 2D 数组

ruby - 在 Ruby 中比较序列

arrays - Emacs 和 LaTeX : amount of columns for tables/matrices/arrays

javascript - 跟踪是否在输入字段中按下了退格键或删除键

javascript - 在加载的特定页面上执行函数

javascript - 下拉列表显示 [object object] 而不是使用 knockout 的值

javascript - ReactStrap 处理输入隐式提交

javascript - 隐藏的多能复选框

阐明 C 中的结构指针数组