迭代一个数组并获得转换后的数组作为结果

时间:2017-07-23 16:50:42

标签: javascript arrays

因此,有很多关于遍历数组的问题,但我没有发现任何说明如何将变换后的数组作为左侧变量。我总是可以用带有标记的循环标准,但我想知道我是否可以使用像.foreach这样会返回变换数组的东西。

Psedo示例:我有一个数组points,它由一个对象Phaser.Point

组成

这样我就可以编写以下代码

x = new Phaser.Polygon(points.foreach(function (point) {
      return new Phaser.Point(point.x+5, point.y+5)
});

new Phaser.Polygon获取一组Phaser.Point个对象

2 个答案:

答案 0 :(得分:2)

在这种情况下,您可能希望使用Array.prototype.map()。以下是来自MDN的示例:

var numbers = [1, 5, 10, 15];
var roots = numbers.map(function(x) {
   return x * 2;
});
// roots is now [2, 10, 20, 30]
// numbers is still [1, 5, 10, 15]

在你的情况下:

x = new Phaser.Polygon(points.map(function (point) {
      return new Phaser.Point(point.x+5, point.y+5)
});

参考文献:

答案 1 :(得分:1)

您可以使用Array.map。 Array.map返回新数组。