const a = {};
const b = { key: 'b' };
const c = { key: 'c' };
a[b] = 123;
a[c] = 456;
console.log(a[b]);
function partition(collection, callback) {
const basePartition = (result, value) => (
result[callback(value) ? 0 : 1].push(value), result
);
return collection.reduce(basePartition, [[], []]);
};
function filter(collection, callback) {
const result = [];
forEach(collection, (value, key) => {
if (callback(value, key, collection)) {
result.push(value)
}
});
return result;
};
function callLater(func) {
return function (a) {
return function (b) {
return function (c) {
return func(a, b, c);
}
}
}
};
const countClues = () => {
let n = 0;
return {
count: () => ++n,
reset: () => n = 0
};
};
const c = countClues();
const d = countClues();
c.count(), c.count();
d.count();