抱歉,我对javascript有了新的了解: 我有这样的代码:
function call(arr) {
//i have no idea
}
console.log(call([1,2,3]));
我想输出:
//[6,3,2]
从[(2 * 3),(1 * 3),(1 * 2)]
获得的结果输出答案 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
出现在数组中的任何位置,则无法正常工作。