📅  最后修改于: 2023-12-03 15:38:57.965000             🧑  作者: Mango
在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
方法对数组进行过滤操作,并根据需要返回默认数组。这种语言的灵活性和可扩展性使得它成为最流行的编程语言之一。