除了使用Lodash(可能还有ES6)之外,检查具有所有空值的数组的最佳方法是什么?
var emp = [null, null, null];
if (_.compact(emp).length == 0) {
...
}
答案 0 :(得分:14)
旁注:您的解决方案实际上并未检查全零数组。它只是检查一个全假的数组。 [0, false, '']
仍会通过支票。
您可以使用Array#every
方法检查数组的每个元素是否满足特定条件:
const arr = [null, null, null];
console.log(arr.every(element => element === null));
every
接受一个回调,其中第一个参数是迭代的当前元素。如果元素为null,则回调返回true,否则返回false。如果对于所有元素,回调返回true,则它将计算为true,因此如果数组中的所有元素都为null,则为真。
答案 1 :(得分:0)
解决此问题的另一种方法。加入数组元素并用空格替换左边的','。
var emp = [null, null, null];
if(emp.join(',').replace(/,/g, '').length === 0) {
console.log('null');
}
答案 2 :(得分:0)
您可以Array#every
使用_.every()
或lodash' 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>
&#13;
class AircraftType(models.Model):
aircraft_id = models.AutoField(null=False, primary_key=True)
aircraft_type = models.CharField(max_length=20, null=False, blank=False, unique=True)
aircraft_description = models.TextField()
&#13;