我可以将函数存储在键值对中函数是JavaScript的键吗?

问题描述

我有以下功能列表

function max(result,current) {
    if (result > current) return result
    else return current
}

function min(result,current) {
    if (result < current) return result
    else return current
}

function sum(result,current) {
    return result + current
}

function product(result,current) {
    return result * current
}

我可以将它们存储在如下数组中

const mapOfFunctions = [
    sum,product,max,min,]

但是我可以将它们存储为键-值对吗,其中函数是键?

const mapOfFunctions = [
    {sum: 0},{product: 1},{max: Number.MIN_SAFE_INTEGER},{min: Number.MAX_SAFE_INTEGER},]

解决方法

是的。 Map类可让您将任何对象用作键:

const identities = new Map([
  [sum,0],[product,1],[max,Number.MIN_SAFE_INTEGER],[min,Number.MAX_SAFE_INTEGER]
]);

const sumIdentity = identities.get(sum); // 0
const productIdentity = identities.get(product); // 1

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...