Is there a way by which we can dynamically put condition in "if" block according to user input?
like:-
const filter
if (location === true) { // location is user input
filter = first condition
}
if (skill === true) { // skill is user input
filter = second condition
}
if (filter) {
/* filter contains dynamic value if location is true then filter should contain first condition, if skill is
true filter should contain second condition and if both are two true then filter should contain both conditions*/
console.log("Hello")
}
CodePudding user response:
You can evaluate the condition inside the if
statement, then assign the result of the comparison to filter
:
const input = 'a';
var filter
if (input === 'a') {
filter = 1 == true; //first condition
}else if (input === 'b') {
filter = 0 == true; //second condition
}
if (filter) {
console.log("Hello")
}
CodePudding user response:
We need to rename location but perhaps you one or more of these?
const filter = []
let loc = true;
let skill = false;
if (loc) filter.push("location")
if (skill) filter.push("skill")
// show
if (filter.length) { // more than 0 items
filter.forEach(item => console.log(item))
}
if (filter[0] === "skill") console.log("only skill")
else if (filter.length===1 && filter[0] === "location") console.log("only location")
else if (filter.length == 2) console.log("both")