当前位置:首页 > JavaScript

js实现筛选

2026-04-03 23:44:48JavaScript

使用 filter() 方法筛选数组

filter() 是 JavaScript 数组的高阶函数,用于根据条件筛选元素。它返回一个新数组,包含所有满足条件的元素。

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

自定义筛选函数实现

通过遍历数组并手动检查条件,可以自定义筛选逻辑。这种方式适用于更复杂的筛选需求。

function customFilter(array, condition) {
  const result = [];
  for (let item of array) {
    if (condition(item)) {
      result.push(item);
    }
  }
  return result;
}

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

结合 reduce() 实现筛选

reduce() 方法可以灵活地处理数组筛选,尤其适合需要累积结果的场景。

const words = ['apple', 'banana', 'grape', 'kiwi'];
const longWords = words.reduce((acc, word) => {
  if (word.length > 5) acc.push(word);
  return acc;
}, []);
console.log(longWords); // 输出 ['banana', 'grape']

使用 find()findIndex() 筛选单个元素

find() 返回第一个满足条件的元素,findIndex() 返回其索引。适用于查找唯一匹配项的场景。

const inventory = [
  { id: 1, name: 'Laptop', inStock: true },
  { id: 2, name: 'Mouse', inStock: false }
];
const availableItem = inventory.find(item => item.inStock);
console.log(availableItem); // 输出 { id: 1, name: 'Laptop', inStock: true }

多条件筛选

通过组合多个条件,可以实现复杂筛选逻辑。例如,筛选数组中同时满足两个条件的元素。

const products = [
  { name: 'Phone', price: 500, category: 'electronics' },
  { name: 'Shirt', price: 20, category: 'clothing' }
];
const filteredProducts = products.filter(
  product => product.price < 100 && product.category === 'clothing'
);
console.log(filteredProducts); // 输出 [{ name: 'Shirt', price: 20, category: 'clothing' }]

筛选并转换数据

在筛选的同时对数据进行转换,例如提取对象的特定属性。

js实现筛选

const students = [
  { id: 1, score: 85 },
  { id: 2, score: 90 }
];
const highScores = students
  .filter(student => student.score >= 90)
  .map(student => student.id);
console.log(highScores); // 输出 [2]

标签: js
分享给朋友:

相关文章

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…

js实现上传图片

js实现上传图片

使用HTML5的File API实现图片上传 HTML5的File API允许通过JavaScript访问用户选择的文件。需要创建一个文件输入元素,并监听其change事件。 <input t…

js 实现图片轮播

js 实现图片轮播

基础实现方案 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS负责样式布局,JavaScript处理轮播逻辑。 <div class="…