在javascript中计算数组

时间:2017-02-01 19:11:19

标签: javascript arrays

抱歉,我对javascript有了新的了解: 我有这样的代码:

function call(arr) {
 //i have no idea 
}
console.log(call([1,2,3]));

我想输出:

//[6,3,2]

从[(2 * 3),(1 * 3),(1 * 2)]

获得的结果输出

1 个答案:

答案 0 :(得分:1)

看起来您希望将数组中的每个值替换为所有其他元素的值相乘。您可以通过首先将所有数字相乘,然后使用除法在任何时候从产品中取出一个数字,将所有其他数字的乘积保留在数组中来更有效地计算。

Array.prototype.reduce Array.prototype.map



function call(arr) {
  var product = arr.reduce((a,b) => a * b, 1);
  return arr.map(num => product / num);
}

console.log(call([1, 2, 3]));




请注意,如果0出现在数组中的任何位置,则无法正常工作。