javascript - 将一个数字乘以一个数组

标签 javascript

从以下线程 ( Multiplying an array with a single value by a number? ) 我得到的信息是不可能通过执行 [1, 2]*3 将一个数字乘以数组中的所有元素。但由于我必须这样做,所以我想知道是否有一种聪明的方法可以做到这一点?

我知道我可以编写一个函数来遍历所有元素并手动将数字乘以每个元素。但我想知道是否有更聪明的出路?

也许有一些库实现了一些数学函数,我可以在其中将一个数字乘以数组的所有元素?

或者你认为Array的map函数可以用来达到这个目的吗?

最佳答案

您确实可以使用 map 函数:

function multiply(input) {
    return input * 3;
}

var myArray = [1, 2];
var myNewArray = myArray.map(multiply);

它的作用是对数组中的每个元素执行您提供的函数,并返回一个包含结果的新数组。

如果您已经在使用 jQuery,您可以使用 each 函数使其更简洁:

$.each(myArray, function(index, value) {
    myArray[index] = value * 3;
});

这会更改现有数组。虽然,使用纯 JS 方法,如果您不想要新变量,您可以执行 myArray = myArray.map(multiply);

我做了一个jsFiddle举个例子。

关于javascript - 将一个数字乘以一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484728/

相关文章:

javascript - 发现 Nodejs 的 promise

javascript - 有条件地更改输入的 ng-model 值

javascript - 在处理简单 html 页面上的子元素时卡住了

javascript - 如何摆脱此 react 的 "unique key"错误

javascript - ng-disabled 无法在按钮中工作

javascript - 从 android 文件中的谷歌驱动器(云存储)附加 : err_upload_file_changed error

javascript - 使用 jQuery 删除所有数据表

javascript - 弹出表单来编辑形状位置和标签?

javascript - Javascript 函数的澄清

javascript - 选择框的特殊行为(需要您的意见)