Javascript 为什么这些操作符不在此阵列上工作?
我试图创建一个函数,该函数将返回数组中小于第一个参数、大于第二个参数的元素。如果我想得到element>lower和Javascript 为什么这些操作符不在此阵列上工作?,javascript,arrays,Javascript,Arrays,我试图创建一个函数,该函数将返回数组中小于第一个参数、大于第二个参数的元素。如果我想得到element>lower和{ 如果(!Array.isArray(数组)){ 抛出新错误('请输入有效数组') } 让filteredArray=array.filter(元素=>{ 返回元素upper }) 返回过滤器阵列 } console.log(filterAround(myArr,“cow”,“dog”)) const myArr=['dog','cat','zebra','ape','lion
const myArr = ['dog', 'cat', 'zebra', 'ape', 'lion', 'cow']
let filterAround = (array, lower, upper) => {
if(!Array.isArray(array)) {
throw new Error('Please enter a valid Array')
}
let filteredArray = array.filter(element => {
return element < lower && element > upper
})
return filteredArray
}
console.log(filterAround(myArr, "cow", "dog"))
const myArr=['dog','cat','zebra','ape','lion','cow']
让filterAround=(数组、下、上)=>{
如果(!Array.isArray(数组)){
抛出新错误('请输入有效数组')
}
让filteredArray=array.filter(元素=>{
返回元素upper
})
返回过滤器阵列
}
console.log(filterAround(myArr,“cow”,“dog”))
const myArr=['dog','cat','zebra','ape','lion','cow']
让filterAround=(数组、下、上)=>{
如果(!Array.isArray(数组)){
抛出新错误('请输入有效数组')
}
让filteredArray=array.filter(元素=>{
控制台日志(元素<下部,元素>上部);
返回元素upper
})
返回过滤器阵列
}
log(filterAround(myArr,“cow”,“dog”))
尝试更改此选项
return element < lower && element > upper
返回元素upper
对此
return element > lower && element < upper
返回元素>下部和上部元素<上部元素
只要上部>下部
,就不可能有一个元素满足您的条件。没有小于cow
和大于dog
的词。您正在寻找既是<“cow”
又是“dog”
的元素。可能你的意思是&
是| |
这看起来像是一个简单的错误-在逻辑测试中,你应该使用or(| |)代替and(&&&)。