removeAfter
删除数组中指定元素之后的数据
⚠️ 破坏性变更:从 v0.20.0 起,removeItemsAfterTarget(v0.15.0) 更名为 removeAfter,原函数已废弃
引入版本
0.20.0
Demo
ts
import { removeAfter } from '@wyfex/iutils'
const data = [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' },
{ id: 4, name: '赵六' },
{ id: 5, name: '钱七' }
]
/**
* ================== 1. 删除目标后 1 个元素 通过 id ==================
*/
const r1 = removeAfter(data, { id: 2 }, 1)
console.log(JSON.stringify(r1, null, 2))
// [
// {
// "id": 1,
// "name": "张三"
// },
// {
// "id": 2,
// "name": "李四"
// },
// {
// "id": 4,
// "name": "赵六"
// },
// {
// "id": 5,
// "name": "钱七"
// }
// ]
/**
* ================== 2. 删除目标后多个元素 通过 name ==================
*/
const r2 = removeAfter(data, { name: '李四' }, 2)
console.log(JSON.stringify(r2, null, 2))
// [
// {
// "id": 1,
// "name": "张三"
// },
// {
// "id": 2,
// "name": "李四"
// },
// {
// "id": 5,
// "name": "钱七"
// }
// ]
/**
* ================== 3. 删除最后一个元素之后(边界) ==================
*/
const r3 = removeAfter(data, { id: 5 })
console.log(JSON.stringify(r3, null, 2))
// [
// {
// "id": 1,
// "name": "张三"
// },
// {
// "id": 2,
// "name": "李四"
// },
// {
// "id": 3,
// "name": "王五"
// },
// {
// "id": 4,
// "name": "赵六"
// },
// {
// "id": 5,
// "name": "钱七"
// }
// ]
/**
* ================== 4. 目标不存在 ==================
*/
const r4 = removeAfter(data, { id: 999 })
console.log(JSON.stringify(r4, null, 2))
// [
// {
// "id": 1,
// "name": "张三"
// },
// {
// "id": 2,
// "name": "李四"
// },
// {
// "id": 3,
// "name": "王五"
// },
// {
// "id": 4,
// "name": "赵六"
// },
// {
// "id": 5,
// "name": "钱七"
// }
// ]
/**
* ================== 5. target 为空对象 ==================
*/
const r5 = removeAfter(data, {})
console.log(JSON.stringify(r5, null, 2))
// [
// {
// "id": 1,
// "name": "张三"
// },
// {
// "id": 2,
// "name": "李四"
// },
// {
// "id": 3,
// "name": "王五"
// },
// {
// "id": 4,
// "name": "赵六"
// },
// {
// "id": 5,
// "name": "钱七"
// }
// ]