问题描述
我有以下功能列表
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