I wanted to have a switch/case statement that accepts an object in Javascript.
The function looks like this.
const validate = (values) => { valu
const switchCase=(obj={},str='')=>obj[Object.keys(obj).find(ele=>ele.toString().split('|').includes(str.toString())) || 'default']
console.log(switchCase({
default:'o',
40:'ko',
xyz:'hi',
'yi|th' :'ho'
},'yi'))
You are using it like a function parameter which is unnecessary (and wrong). Since switch statements check that the value equals the case, you'll want to use:
switch(true)
Change
switch(values) {
To
switch(true) {
switch checks with strict equality.
And use, if necessary some break
if you do not want to fall through the switch cases (kudos to blex).