我的目标是确定一个数组是否包含任何假元素,并创建一个新的不包含这些元素的数组。我想出了一个非常丑陋的函数,但我就是想不出更好的写法。
function bouncer(arr) {
var newArray = [];
for (var i = 0; i < arr.length; i++)
if (arr[i] !== false ) {
if (arr[i] !== NaN) {
if (arr[i] !== "") {
if (arr[i] !== 0) {
if (arr[i] !== undefined) {
if (arr[i] !== null) {
newArray.push(arr[i]);
}}}}}}
return newArray;
}
bouncer([7, 'ate', '', false, 9]);
我尝试使用if语句并添加多个条件,例如
if (arr[i] !== false || arr[i] !== "")
但是当我这样做时,由于某些原因它无法捕获两种条件。有没有更简单的方法来做到这一点?
if (arr[i] !== false && arr[i] !== "")
而不是 ||。 - danielmhanover||
表示 或,&&
表示 且。 - Script47false
。整个重点在于避免做你刚才所做的事情。请参见@Nina Scholz的答案。 - Luke