backbone.js 将以下代码从for循环转换为Array#Map

csbfibhn  于 2022-11-24  发布在  其他
关注(0)|答案(3)|浏览(164)

我正在做一个简单的js函数...我正在尝试将下面的代码从一个for循环转换为Array#map,在下面的小提琴上提供我的代码...
http://jsfiddle.net/newtdms2/

function doubleAll(numbers) {
    var result = [];
    result = numbers.map(function(num) {
        for (var i = 0; i < numbers.length; i++) {
            result.push(numbers[i] * 2)
        }
        return result;
    });
}

module.exports = doubleAll
wgx48brx

wgx48brx1#

你不需要在map中创建一个for循环,map会在你作为参数传递的数组中的每个元素上调用函数回调。所以你可以尝试如下操作:

function doubleAll(numbers) {
  return numbers.map(function (num) {
    return num * 2;
  });
}

Here是map方法的文档,您可能会感兴趣!

kxxlusnw

kxxlusnw2#

您的内部map不需要:

function doubleAll(numbers) {
    var result = [];
    result = numbers.map(function(num) {
        return (num * 2);
    });
   return result;
}

而更简单的可以是:

function doubleAll(numbers) {    
   return numbers.map(function(num) {
      return (num * 2);
   });
}

**Array.prototype.map:**将在数组中的每个元素中循环一次。它接收回调函数作为参数,回调函数接受三个参数,前2个为:

  • currentItem:在上面的示例num中的数组中正在处理的元素。
  • index:数组中正在处理的元素的索引,在for循环中,这将是i
egdjgwm8

egdjgwm83#

function doubleAll(numbers) {
  return numbers.map(num => num*2);
}

相关问题