思路:首先利用arguments可以遍历所有的元素(在不确定有多少字符的情况下),由于最后一个位存放的是操作符,因此使用arguments.length - 1可以找到最后一位的运算符的下标。
再使用arguments[arguments.length - 1]将其操作符取出。arguments[i]可以取出对应下标的内容,让第一个参数为初始值(不能使用0作为初始值,否则进行乘除运算就无意义了)。
接着使用for循环,将每一个元素遍历出来。在for循环内部嵌套一个switch判断语句,用来判断操作符来作出相应的运算。
最后将结果return出去即可
function sum() {
console.log(arguments); //遍历所有的字符串
var op = arguments[arguments.length - 1]; //得到字符串中的最后一位的运算符
console.log(op);
var temp = arguments[0]; //累积的初始值 第一个参数
for (var i = 1; i < arguments.length - 1; i++) {
var arg = arguments[i]; //将每一个元素进行遍历出来
console.log(arg);
switch (op) {
case "+":
temp = temp + arg;
break;
case "-":
temp = temp - arg;
break;
case "*":
temp = temp * arg;
break;
case "/":
temp = temp / arg;
break;
default:
break;
}
}
return temp;
}
var result = sum(2, 2, 3, "*");
console.log(result);