当前位置:首页 > JavaScript

js实现过滤

2026-02-02 05:45:05JavaScript

过滤数组中的元素

使用 Array.prototype.filter() 方法可以过滤数组中的元素。该方法接受一个回调函数,返回一个新数组,包含所有通过测试的元素。

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]

过滤对象数组

对于对象数组,可以根据对象的属性值进行过滤。

js实现过滤

const users = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 },
  { name: 'Charlie', age: 35 }
];
const youngUsers = users.filter(user => user.age < 30);
console.log(youngUsers); // [{ name: 'Alice', age: 25 }]

过滤字符串数组

可以过滤字符串数组,例如筛选包含特定字符的字符串。

const words = ['apple', 'banana', 'grape', 'orange'];
const filteredWords = words.filter(word => word.includes('ap'));
console.log(filteredWords); // ['apple', 'grape']

使用索引过滤

filter 方法的回调函数可以接收三个参数:当前元素、索引和数组本身。可以利用索引进行过滤。

js实现过滤

const numbers = [10, 20, 30, 40, 50];
const filteredNumbers = numbers.filter((num, index) => index % 2 === 0);
console.log(filteredNumbers); // [10, 30, 50]

过滤空值

可以使用 filter 方法移除数组中的空值(如 nullundefined 或空字符串)。

const mixedArray = [0, 1, '', 'hello', null, undefined, false];
const truthyValues = mixedArray.filter(Boolean);
console.log(truthyValues); // [1, 'hello']

链式过滤

可以将多个 filter 方法链式调用,实现多重过滤条件。

const products = [
  { name: 'Laptop', price: 1000, stock: 5 },
  { name: 'Phone', price: 500, stock: 10 },
  { name: 'Tablet', price: 300, stock: 0 }
];
const availableAffordableProducts = products
  .filter(product => product.stock > 0)
  .filter(product => product.price < 800);
console.log(availableAffordableProducts); // [{ name: 'Phone', price: 500, stock: 10 }]

标签: js
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现左右滑动

js实现左右滑动

实现左右滑动的 JavaScript 方法 监听触摸事件 通过 touchstart、touchmove 和 touchend 事件来检测用户的手势操作。记录触摸的起始位置和移动距离,判断滑动方向。…

js 实现进度条

js 实现进度条

使用 HTML 和 CSS 创建基础结构 进度条需要一个容器和一个填充元素。HTML 结构可以简单如下: <div class="progress-container"> <d…

vue js 实现排序

vue js 实现排序

Vue.js 实现排序的方法 在 Vue.js 中实现排序可以通过多种方式完成,包括使用计算属性、方法或直接操作数据。以下是几种常见的实现方式: 使用计算属性排序 计算属性可以自动响应数据变化并重新…

vue js实现弹窗

vue js实现弹窗

Vue.js 实现弹窗的方法 使用组件实现弹窗 创建一个独立的弹窗组件,例如 Modal.vue,包含弹窗的 HTML 结构和样式。在组件中定义 props 控制弹窗的显示与隐藏。 <temp…