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

后端 未结 9 1402
暖寄归人
暖寄归人 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:54

    In ECMAScript 6, you can use arrow functions:

    var a = [1, 2, 3];
    var b = a.map(x => x * 5); // <-------
    
    console.log(b);   // [5, 10, 15]
    

    Arrow functions are syntactic sugar for an inline function with lexical this binding:

    // ES6
    let array2 = array1.map(x => x * 5);
    
    // ES5
    var array2 = array1.map((function (x) { return x * 5; }).bind(this));
    

    Therefore, if you need to support Internet Explorer or other old browsers (Edge understands ES6) you can use babeljs or TypeScript in your project to cross-compile your code to ES5 syntax.

提交回复
热议问题