2016-04-18 11 views
0

私は値をテストする方法を探しています。私はそれがこのように動作したいと思います:Lodash:_.isBlank?

_.isBlank(undefined) : true 
_.isBlank(null) : true 
_.isBlank(NaN) : true 
_.isBlank('') : true 
_.isBlank('a') : false 
_.isBlank(0) : false 
_.isBlank(1) : false 
_.isBlank({}) : true 
_.isBlank([]) : true 
_.isBlank({foo: 'bar'}) : false 
_.isBlank(['foo', 'bar']) : false 

_.isNilはありますが、_.isNil('')はfalseです。 _.isEmptyは有望ですが、_.isEmpty(0)trueです。 もちろん、私はいくつかのテストを組み合わせることができますが、それをすぐに使うことができればそれはいいでしょうか?

+2

'xを== 0 '些細な要件を満たして(とさえありませんロダッシュが必要)。もっと探していますか?これは何のために必要なのですか? – Bergi

+1

質問内容が不明です。はい、すぐに使える方法はより洗練されていますが、その要件は非常に限定されているため、独自のものを作るのは簡単ではありません。 – JJJ

+1

'const isBlank = v => v ===未定義|| v === null || v === ''; '---それを受け取り、npmパッケージを作成することができます。 – zerkms

答えて

3

具体的なケースについては、Lodashには方法がありません。

function isBlank(value) { 
    return _.isEmpty(value) && !_.isNumber(value) || _.isNan(value); 
} 

結果:あなたはあなたの意図翻訳したい場合、関数を作成する必要があり

isBlank(undefined) 
// => true 

isBlank(null) 
// => true 

isBlank('') 
// => true 

isBlank([]) 
// => true 

isBlank({}) 
// => true 

isBlank(NaN) 
// => true 

isBlank(0) 
// => false 
+0

最終的に建設的な答えをお寄せいただきありがとうございます! :-) –

関連する問題