map的用途

176 阅读1分钟

map的用途

主题列表:es6 高阶函数

贡献主题:

在看lodash的时候忽然想到前几天面试时候问我map有什么实际用途 我当时没想到 但lodash的memoize确实可以用上 类似于react的momo,用map数据结构把入参当作key

    console.log("+++++++++++++")
    return a + b;
}
function momo(fn) {
    let myMap = new Map();
    return function () {
        const cache = myMap.get(arguments);
        console.log("cache+++++++", cache)
        if (myMap.get(arguments)) {
            return myMap.get(arguments)
        } else {
            const result = fn(...arguments);
            myMap.set(result);
            return result;
        }
    }
}
const tmp = momo(sum);
console.log(tmp(3, 4))
console.log(tmp(3, 4))
console.log(tmp(3, 4))
console.log(tmp(3, 4))```