标题:ES6 filter() 数组过滤方法总结
介绍:在ES6中,filter()是一个常用的数组方法,它可以根据指定的条件来过滤数组元素。本文将详细讲解ES6中的filter()方法,包括其参数和用法,同时提供两个实际的示例来帮助读者更好地理解。
正文:
参数和用法
ES6中的filter()方法接受一个回调函数作为参数,回调函数可以接受三个参数,分别是当前元素、当前元素的索引和当前数组对象本身。回调函数需要返回一个布尔值,用于指示当前元素是否应该被包含在过滤后的结果数组中。如果返回值为true,则元素被包含在结果数组中;如果返回值为false,则元素被过滤掉。
示例代码如下:
const arr = [1, 2, 3, 4, 5]
const result = arr.filter(item => item % 2 === 0)
console.log(result) // [2, 4]
上述代码中,我们创建了一个数组arr,然后使用arr.filter()方法来过滤该数组中所有的奇数元素。我们通过一个箭头函数来定义过滤条件,即仅保留数组中除以2余数等于0的元素。执行结果为[2, 4]。
示例一:筛选数组对象
在实际应用中,我们可能需要根据对象属性来过滤数组。这时候,我们可以在回调函数内部访问该元素的各个属性,然后根据属性值来判断是否包含在结果数组中。
示例代码如下:
const books = [
{ title: 'JavaScript高级程序设计', price: 65 },
{ title: 'JavaScript权威指南', price: 89 },
{ title: '深入浅出Node.js', price: 45 },
{ title: '编写可维护的JavaScript代码', price: 35 },
{ title: 'CSS揭秘', price: 59 }
]
const result = books.filter(book => book.price < 50)
console.log(result) // [{ title: '编写可维护的JavaScript代码', price: 35 }]
上述代码中,我们创建了一个数组books,该数组中包含了五本书的相关信息。我们使用books.filter()方法来过滤该数组中所有售价低于50的书籍。我们通过一个箭头函数来定义过滤条件,即仅保留售价低于50的书籍。执行结果为[{ title: '编写可维护的JavaScript代码', price: 35 }]。
示例二:筛选字符串数组
除了对象数组之外,我们也可以使用filter()方法来过滤一般的字符串数组。
示例代码如下:
const arr = ['apple', 'banana', 'orange', 'grape']
const result = arr.filter(item => item.length > 5)
console.log(result) // ['banana', 'orange']
上述代码中,我们创建了一个字符串数组arr,然后使用arr.filter()方法来过滤该数组中所有长度大于5的元素。我们通过一个箭头函数来定义过滤条件,即仅保留长度大于5的元素。执行结果为['banana', 'orange']。
总结:
ES6中的filter()方法可以用来过滤数组元素,它接受一个回调函数作为参数,该回调函数用于定义过滤条件。通过使用filter()方法,我们可以只保留数组中符合条件的元素,并将它们放入一个新的数组中。本文通过两个实际的例子来说明该方法的用法,希望有助于读者更好地理解该方法的用途和原理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:es6 filter() 数组过滤方法总结 - Python技术站