如何在不使用 jquery 的情况下在纯 JavaScript 中使用对象的函数?

use*_*297 1 javascript

我正在尝试使用对象中的函数,但没有成功。

let ops = [
    {'*': (a, b) => a * b}, 
    {'/': (a, b) => a / b},
    {'+': (a, b) => a + b},
    {'-': (a, b) => a - b}
];

let res = [];
let current;

for (var i = 0; i < ops.length; i++) {
   current = ops[i];
   res = current(4, 2);
   console.log(res);
}
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 5

在不改变 的情况下ops,您需要通过获取对象的所有值并取第一个值来将函数从对象中取出。

 let ops = [
    {'*': (a, b) => a * b}, 
    {'/': (a, b) => a / b},
    {'+': (a, b) => a + b},
    {'-': (a, b) => a - b}
];

let res = [];
let current;

for (var i = 0; i < ops.length; i++) {
   current = Object.values(ops[i])[0];
   res = current(4, 2);
   console.log(res);
}
Run Code Online (Sandbox Code Playgroud)

更聪明的方法是只使用数组中的函数。

 let ops = [
        (a, b) => a * b, 
        (a, b) => a / b,
        (a, b) => a + b,
        (a, b) => a - b
    ];

let res = [];
let current;

for (var i = 0; i < ops.length; i++) {
   current = ops[i];
   res = current(4, 2);
   console.log(res);
}
Run Code Online (Sandbox Code Playgroud)