Skip to content

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": "钱七"
//   }
// ]

基于 MIT 许可发布