Lodashを使用する以外に、すべてのヌル値を持つ配列をチェックする最も良い方法はありますか?配列のすべての要素がnullであるかどうかを確認するにはどうすればよいですか?
var emp = [null, null, null];
if (_.compact(emp).length == 0) {
...
}
Lodashを使用する以外に、すべてのヌル値を持つ配列をチェックする最も良い方法はありますか?配列のすべての要素がnullであるかどうかを確認するにはどうすればよいですか?
var emp = [null, null, null];
if (_.compact(emp).length == 0) {
...
}
サイドノート:ソリューションでは、実際にはすべてnull配列がチェックされません。それはすべての偽の配列をチェックするだけです。 [0, false, '']
はまだチェックに合格します。
あなたは、配列のすべての要素が一定の条件を満たしていることを確認するためにArray#every
メソッドを使用することができます。
const arr = [null, null, null];
console.log(arr.every(element => element === null));
every
は、最初の引数は、現在であるコールバックを取ります要素が反復されます。コールバックは、要素がnullの場合はtrueを返し、そうでない場合はfalseを返します。すべての要素に対して、コールバックがtrueを返す場合はtrueと評価され、配列のすべての要素がnullの場合はtrueです。
これを解決する別の方法です。配列の要素を結合し、空のスペースで左の '、'を置き換えます。
var emp = [null, null, null];
if(emp.join(',').replace(/,/g, '').length === 0) {
console.log('null');
}
あなたはArray#every
またはlodashの_.every()
_.isNull()
で使用することができます:あなたが "最高" を決定しますどのような基準によって
var emp = [null, null, null];
var result = emp.every(_.isNull);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
を? – RobG