数组中的filter方法
filter()方法不会对空数组进行检测,不会改变原始数组filter()方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];const result = words.filter(word => word.length
·
filter()方法不会对空数组进行检测,不会改变原始数组
filter()
方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]
语法:
let newArray = arr.filter(callback(element[, index[, array]])[, thisArg])
参数:
返回值:
一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。
当要过滤的数组是对象数组的时候,修改新返回来的对象数组属性的时候同时也修改了原来的对象数组,例如下面的代码
let arr = [{
id: 1,
name: 9999,
},
{
id: 2,
name: 32,
},
{
id: 3,
name: 22334,
},
{
id: 4,
name: 99993,
},
{
id: 5,
name: 99995,
},
{
id: 6,
name: 99996,
},
]
let res = arr.filter((element, index) => {
return element.id % 2 === 0;
})
res[0].name = 8
console.log(arr)
console.log(res)
当要过滤的数组是纯数组的时候,修改过滤后的新数组,原来的数组不会改变,例如下面的例子
let arr = [1, 2, 3, 4, 5, 6]
let res = arr.filter((element, index) => {
return element % 2 === 0;
})
res[0] = 8
console.log(arr)
console.log(res)
更多推荐
已为社区贡献1条内容
所有评论(0)