📜  如果不为真,则过滤数组列表返回默认数组 - Javascript (1)

📅  最后修改于: 2023-12-03 15:38:57.965000             🧑  作者: Mango

如果不为真,则过滤数组列表返回默认数组 - Javascript

在Javascript中,我们经常需要对数组进行过滤操作。有时候我们需要根据某个条件对数组进行过滤,如果条件不为真,则返回默认的数组。

以下是一个示例程序,演示如何通过Javascript对数组进行过滤操作:

const list = [1, 2, 3, 4, 5];

const filtered = list.filter(item => {
  return item > 3;
});

console.log(filtered); // 输出 [4, 5]

在上面的示例程序中,我们定义一个数组 list,然后使用 filter 方法将数组过滤,找出所有大于3的元素。最后,我们输出过滤后的数组 [4, 5]

但是,如果条件不为真,我们想要返回一个默认的数组怎么办?以下是一种方便的实现方式:

const list = [1, 2, 3, 4, 5];
const defaultList = [0];

const filtered = list.filter(item => {
  return item > 6;
}) || defaultList;

console.log(filtered); // 输出 [0]

在上面的示例程序中,如果过滤操作返回的数组为假值(即null、undefined、false、0、''等),则会返回默认数组 defaultList,其值为 [0]

另外,我们也可以使用 Array.prototype.length 属性和 || 运算符来实现相同的效果:

const list = [1, 2, 3, 4, 5];
const defaultList = [0];

const filtered = (list.filter(item => {
  return item > 6;
}).length && list) || defaultList;

console.log(filtered); // 输出 [0]

在上面的示例程序中,我们使用 filter 方法过滤数组,并通过 length 属性判断过滤后的数组是否为空数组。如果数组非空,则返回原数组,否则返回默认数组 defaultList

总的来说,在Javascript中,我们可以很方便地使用 filter 方法对数组进行过滤操作,并根据需要返回默认数组。这种语言的灵活性和可扩展性使得它成为最流行的编程语言之一。