如何否定javascript数组中的所有元素

use*_*415 3 javascript arrays

以合理的效率否定javascript数组中所有元素的最短方法是什么?

例如,解决方案将转换[0, 18, -1, -2, 1, 3]为[0, -18, 1, 2, -1, -3]

该解决方案不需要处理NaN/undefined/null的任何值,因为我需要它的数组不包含任何这些值.

这是我通常做的(使用数组array):

for(var i = 0; i < array.length; i++) {
  array[i]*=-1
}
Run Code Online (Sandbox Code Playgroud)

问题是我需要在几个地方反转这个数组,所以不想重用大代码.

谢谢

Jos*_*eph 6

这将array.map返回每个值的负数.添加箭头功能以获得更短的语法.

var negatedArray = array.map(value => -value);
Run Code Online (Sandbox Code Playgroud)

  • 不错的方法虽然它给'-0`. (3认同)
  • @Oriol 我们不要深入..`+0 === -0` 好吧.. 这个[文章](http://stackoverflow.com/questions/7223359/are-0-and-0-the-same)可能有帮助。 (2认同)