过滤数组假值

2018-05-29  本文已影响0人  黑夜的眸

删除数组中的所有假值。

在JavaScript中,假值有

false、null、0、""、undefined 和 NaN。

知识点

  • Array.filter()
    语法var new_array = arr.filter(callback[, thisArg])
function isBigEnough(element) {
  return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]

function bouncer(arr) {
  return arr.filter(function(value){
    return (value !== false && value !== null && value !== 0 && value !=="" && value !== undefined && !isNaN(value));
  });
}

bouncer([7, "ate", "", false, 9]);

有误,因为"ate"也被滤掉,isNaN()不仅仅是传入NaN时返回True,只要不是数字,都返回True。

一个简单的解法:

function bouncer(arr) {
  return arr.filter(function(value){
    return value;
  });
}

bouncer([7, "ate", "", false, 9]);
上一篇下一篇

猜你喜欢

热点阅读