How do I multiply each member of an array by a scalar in javascript?

后端 未结 9 1573
暖寄归人
暖寄归人 2021-02-06 22:55

For example, how do I achieve the following without iterating over the array?

var a = [1, 2, 3] * 5;  // a should equal [5, 10, 15]
9条回答
  •  没有蜡笔的小新
    2021-02-06 23:38

    Array.map() is available to IE users as of IE9, so if you don't care about compatibility at all you can use this:

    var a = [1, 2, 3].map(function(x) { return x * 5; });
    

    For JavaScript 1.8, this is as short as you can go:

    var a = [1, 2, 3].map(function(x) x * 5);
    

    If you need maximal browser compatibility, you'll have to put up with a loop.

    Either way you'll be iterating over the array; Array.map() just makes it less obvious you're doing so.

提交回复
热议问题