+-
使用数组的filter方法删除数组中某一项或某几项(不用splice方法)
首页 专栏 javascript 文章详情
0

使用数组的filter方法删除数组中某一项或某几项(不用splice方法)

水冗水孚 发布于 1 月 20 日

问题描述

我们在日常做项目的过程中,需要对数据进行各种加工处理。比较常见的就是把数组中一些用不到的项,删除掉。对于数组删除,我们第一时间想到的就是使用splice方法,不过splice方法会改动原数组。有的时候,用fliter过滤方法也可以删除数组,或许有意想不到的效果。

上代码

// 平常我们删除数组中的值,常用的是splice方法,不过有时候filter方法,也许会带来妙用
// 直接删除数组中的某些值
let arr1 = ["刘备","关羽","张飞","赵云"]
// 过滤掉 "赵云" 和 "刘备" 这两项,即删除 "赵云" 和 "刘备" 这两项
let newArr1 = arr1.filter((item)=>{ return item != "赵云" & item != "刘备" })
console.log(newArr1); // ["关羽", "张飞"]
//  删除数组中的某个索引对应的值
let arr2 = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "白龙马"]
// 过滤掉索引为2的那一项,即删除索引为2的那一项
let newArr2 = arr2.filter((item,index) => { return index != 2 })
console.log(newArr2); // ["孙悟空", "猪八戒", "唐僧", "白龙马"]

总结

所谓数组的过滤方法,其实就是把不要的项给过滤掉,换句话说,就是删除对应的项,只不过filter方法,会返回一个新数组而已。如果想要修改原来的数组,只需要把新返回的数组赋值给原来的数组,就可以达到类似splice方法的效果~~~~。

segmentfault javascript 程序员 html
阅读 57 发布于 1 月 20 日
赞 收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
avatar
水冗水孚

每一个不曾起舞的日子,都是对生命的辜负

2 声望
1 粉丝
关注作者
0 条评论
得票 时间
提交评论
avatar
水冗水孚

每一个不曾起舞的日子,都是对生命的辜负

2 声望
1 粉丝
关注作者
宣传栏

问题描述

我们在日常做项目的过程中,需要对数据进行各种加工处理。比较常见的就是把数组中一些用不到的项,删除掉。对于数组删除,我们第一时间想到的就是使用splice方法,不过splice方法会改动原数组。有的时候,用fliter过滤方法也可以删除数组,或许有意想不到的效果。

上代码

// 平常我们删除数组中的值,常用的是splice方法,不过有时候filter方法,也许会带来妙用
// 直接删除数组中的某些值
let arr1 = ["刘备","关羽","张飞","赵云"]
// 过滤掉 "赵云" 和 "刘备" 这两项,即删除 "赵云" 和 "刘备" 这两项
let newArr1 = arr1.filter((item)=>{ return item != "赵云" & item != "刘备" })
console.log(newArr1); // ["关羽", "张飞"]
//  删除数组中的某个索引对应的值
let arr2 = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "白龙马"]
// 过滤掉索引为2的那一项,即删除索引为2的那一项
let newArr2 = arr2.filter((item,index) => { return index != 2 })
console.log(newArr2); // ["孙悟空", "猪八戒", "唐僧", "白龙马"]

总结

所谓数组的过滤方法,其实就是把不要的项给过滤掉,换句话说,就是删除对应的项,只不过filter方法,会返回一个新数组而已。如果想要修改原来的数组,只需要把新返回的数组赋值给原来的数组,就可以达到类似splice方法的效果~~~~。