Javascript 用户输入作为实际的 if 语句 javascript
Javascript user input as an actual if statement javascript
我想知道是否可以将用户输入作为实际的 if 语句?
例如:
用户想要在数组中查找 >=100&<200
的值
我想做这样的事情:
let array = [1,100,200]
let userInput = document.querySelector("#userInput").value // ">=100&<200"
for(let i = 0; i<array.length; i++){
if(array[i]&userInput){ // 'array[i]>=100&<200'
console.log(true);
}else{
console.log(false);
}
}
//result [false,true,false]
let array = [1,100,200]
let userInput = ">=100&<200"
function check(userInput, x) {
const conditions = userInput.split('&').map(c => `${x}${c}`)
const conditionsSatisfied = conditions.map(c => eval(c))
return conditionsSatisfied.reduce((acc,x) => acc&&x)
}
for(let i = 0; i<array.length; i++){
if(check(userInput, array[i])){ // 'array[i]>=100&<200'
console.log(true);
}else{
console.log(false);
}
}
我想知道是否可以将用户输入作为实际的 if 语句?
例如:
用户想要在数组中查找 >=100&<200
的值
我想做这样的事情:
let array = [1,100,200]
let userInput = document.querySelector("#userInput").value // ">=100&<200"
for(let i = 0; i<array.length; i++){
if(array[i]&userInput){ // 'array[i]>=100&<200'
console.log(true);
}else{
console.log(false);
}
}
//result [false,true,false]
let array = [1,100,200]
let userInput = ">=100&<200"
function check(userInput, x) {
const conditions = userInput.split('&').map(c => `${x}${c}`)
const conditionsSatisfied = conditions.map(c => eval(c))
return conditionsSatisfied.reduce((acc,x) => acc&&x)
}
for(let i = 0; i<array.length; i++){
if(check(userInput, array[i])){ // 'array[i]>=100&<200'
console.log(true);
}else{
console.log(false);
}
}