javascript 数组 filter
在JavaScript中,filter
方法被用于创建一个新数组,该数组包含通过提供的函数实现的测试的所有元素。
解法1:基本使用方法
let numbers = [4, 9, 16, 25, 29]; let newNumbers = numbers.filter(num => num > 10); console.log(newNumbers); // 输出:[16, 25, 29]
在上述代码中,我们创建了一个新的数组newNumbers
,该数组只包含原始数组numbers
中大于10的元素。
解法2:使用多个条件
如果你想在数组中过滤出多个条件的元素,你可以使用逻辑运算符。
let numbers = [4, 9, 16, 25, 29]; let newNumbers = numbers.filter(num => num > 10 && num % 2 === 0); console.log(newNumbers); // 输出:[16, 25]
在上述代码中,我们创建了一个新的数组newNumbers
,该数组只包含原始数组numbers
中大于10且是偶数的元素。
解法3:使用filter函数进行更复杂的过滤
如果你想在数组中过滤出更复杂的元素(例如对象),你可以使用更复杂的函数。
let users = [ { 'user': 'barney', 'age': 36, 'active': true }, { 'user': 'fred', 'age': 40, 'active': false } ]; let activeUsers = users.filter(user => user.active); console.log(activeUsers); // 输出:[{ 'user': 'barney', 'age': 36, 'active': true }]
在上述代码中,我们创建了一个新的数组activeUsers
,该数组只包含users
数组中活跃用户的元素。
注意:filter
函数不会改变原始数组,它返回一个新的数组,包含满足条件的元素。