JSFiddle - React, Tailwind, and code Playground
JavaScript
const obj = {
cat: false,
dog: true,
fish: false
}
const fn = ({
cat,
dog,
fish
}, key) => {
const resetObject = (obj) => {
return Object.keys(obj).reduce((result, current) => {
return {
...result,
[current]: false
}
}, {})
}
const isCat = (key) => key === "cat";
const isDog = (key) => key === "dog";
return (isCat(key)) ? ({
...resetObject({
cat,
dog,
fish
}),
...{
cat: true
}
}) : (isDog) ? ({
...resetObject({
cat,
dog,
fish
}),
...{
dog: true
}
}) : ({
...resetObject({
cat,
dog,
fish
}),
...{
fish: true
}
})
}
console.log(fn(obj, "cat"))