除了使用Lodash(可能還有ES6)之外,檢查所有空值的數組的最佳方法是什麼?如何檢查數組的所有元素是否爲空?
var emp = [null, null, null];
if (_.compact(emp).length == 0) {
...
}
除了使用Lodash(可能還有ES6)之外,檢查所有空值的數組的最佳方法是什麼?如何檢查數組的所有元素是否爲空?
var emp = [null, null, null];
if (_.compact(emp).length == 0) {
...
}
備註:您的解決方案實際上並未檢查全空數組。它只是檢查一個全錯陣列。 [0, false, '']
仍然可以通過支票。
你可以使用Array#every
方法檢查數組中的每個元件滿足特定條件:
const arr = [null, null, null];
console.log(arr.every(element => element === null));
every
採用了回調,其中第一個參數是電流元素被迭代。如果元素爲null,則回調函數返回true;如果元素爲null,則返回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