当前位置:首页 > JavaScript

js筛选功能的实现

2026-03-01 07:22:07JavaScript

实现 JavaScript 筛选功能的方法

方法一:使用数组的 filter() 方法
通过 filter() 方法可以创建一个新数组,包含通过测试函数的所有元素。

const items = [1, 2, 3, 4, 5];
const filteredItems = items.filter(item => item > 3);
console.log(filteredItems); // 输出 [4, 5]

方法二:基于输入框动态筛选
结合输入框事件监听,实现动态筛选功能。

const input = document.querySelector('input');
const items = ['apple', 'banana', 'orange'];

input.addEventListener('input', (e) => {
  const filtered = items.filter(item => 
    item.toLowerCase().includes(e.target.value.toLowerCase())
  );
  console.log(filtered);
});

方法三:多条件筛选
通过组合多个条件实现复杂筛选逻辑。

const products = [
  { name: 'Laptop', price: 1000, category: 'electronics' },
  { name: 'Shirt', price: 20, category: 'clothing' }
];

const filtered = products.filter(product => 
  product.price < 50 && product.category === 'clothing'
);
console.log(filtered); // 输出 { name: 'Shirt', ... }

方法四:使用正则表达式筛选
通过正则表达式匹配更灵活的文本模式。

const words = ['hello', 'world', 'javascript'];
const regex = /^j/;
const filtered = words.filter(word => regex.test(word));
console.log(filtered); // 输出 ['javascript']

方法五:结合 DOM 操作实现界面筛选
动态更新 DOM 元素以显示筛选结果。

js筛选功能的实现

const listItems = document.querySelectorAll('li');
const searchInput = document.querySelector('input');

searchInput.addEventListener('input', (e) => {
  const searchTerm = e.target.value.toLowerCase();
  listItems.forEach(item => {
    const text = item.textContent.toLowerCase();
    item.style.display = text.includes(searchTerm) ? 'block' : 'none';
  });
});

注意事项

  • 性能优化:大数据量时考虑使用防抖(debounce)减少频繁触发筛选。
  • 大小写敏感:统一转换为小写或大写避免大小写问题。
  • 空值处理:检查输入是否为空,避免无意义的筛选操作。

标签: 功能js
分享给朋友:

相关文章

vue实现功能插件

vue实现功能插件

Vue 插件实现方法 Vue 插件通常用于封装全局功能(如指令、过滤器、混入等),以下是实现 Vue 插件的典型方式: 插件基本结构 const MyPlugin = { install(Vu…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

原生实现vue功能

原生实现vue功能

原生 JavaScript 实现 Vue 核心功能 使用原生 JavaScript 模拟 Vue 的核心功能(如数据绑定、虚拟 DOM、响应式更新等),可以通过以下方式实现: 数据响应式系统 通过…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…