gpt4 book ai didi

javascript - 我怎样才能让这个功能与其他运营商一起使用

转载 作者:行者123 更新时间:2023-12-01 03:17:07 25 4
gpt4 key购买 nike

我正在做一个练习,这个练习是关于制作一个简单的屏幕计算器,任务描述指定创建一个函数加、乘、减、除,该函数需要两个将被评估的数字。但我检查了其他进行练习的人的一些实时版本,它接受两个以上的数字,所以也许他们使用一个数组..我也尝试制作一个,但这个不能与其他运算符一起使用,例如/=,* = 和 -= ..我怎样才能使这些操作符与这些运算符一起工作而不仅仅是加法..

我还没有进行 DOM 工作,在转到 HTML 部分之前,我仍在尝试首先使此添加功能正常工作,所以这是我现在拥有的唯一代码,以防您想知道其余的代码在哪里.

这个在添加时有效。

function add(arr){
var ans = 0;
for(var i=0;i<arr.length;i++){
ans += arr[i];
}

return ans;
}
add([100,2000,3000]);

但如果改成其他运算符如-、/、*则只返回0;这是除法

 function divide(arr){
var ans = 0;
for(var i=0;i<arr.length;i++){
ans /= arr[i];
}

return ans; // will return 0
}
divide([2000,1000]);

最佳答案

基本上,您可以为 object 中的每个操作采用一个函数。然后为数组的每个元素再次调用此函数 Array#reduce

var operators = {
addition: function (a, b) { return a + b; },
subtraction: function (a, b) { return a - b; },
multiplication: function (a, b) { return a * b; },
};

function calculate(operand, values) {
return values.reduce(operators[operand]);
}

console.log(calculate('addition', [40, 1, 1]));
console.log(calculate('subtraction', [40, 1, 20]));
console.log(calculate('multiplication', [1, 2, 3, 4, 5, 6, 7]));

关于javascript - 我怎样才能让这个功能与其他运营商一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45486102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com