2017-08-15 16 views
-1

私は、最初のパラメータよりも小さく、2番目のパラメータよりも大きい配列から要素を返す関数を作成しようとしています。このコードは、私が要素を> lowerにしたい場合に機能し、< upperを書きますが、空の配列を取得すると.....何が欠けていますか?なぜこれらの演算子はこの配列で動作していませんか?

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")) 
+0

'upper> lower'の間は、あなたの条件を満たす要素が存在しませんでした。 –

+0

「牛」よりも小さく、「犬」よりも大きい単語はありません。 – melpomene

+1

あなたは '<" cow "と'> "dog" 'の両方の要素を探しています。それに一致するものはありません。 –

答えて

2

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 => { 
 
    \t console.log(element < lower, element > upper); 
 
    return element < lower && element > upper 
 
    }) 
 
    return filteredArray 
 
} 
 
console.log(filterAround(myArr, "cow", "dog"))

両方の条件に該当されることはありませんので、

0

この

にこの

return element < lower && element > upper 

を変更してみてください

関連する問題