diffArray
约 260 字小于 1 分钟
2025-10-13
Karin API Docs / common / diffArray
函数: diffArray()
diffArray<
T,K>(old,data):object
定义于: packages/core/src/utils/common/number.ts:23
比较两个对象数组,找出它们之间的差异
类型参数
T
T extends Record<string, any>
K
K extends Record<string, any>
参数
old
T[]
旧数组 - 作为比较基准的原始数组
data
K[]
新数组 - 需要与基准数组进行比较的目标数组
返回
object
包含差异的对象 - removed: 在旧数组中存在但在新数组中不存在的对象集合 - added: 在新数组中存在但在旧数组中不存在的对象集合 - common: 在两个数组中都存在的对象集合
added
added:
K[]
common
common:
T[]
removed
removed:
T[]
Description
使用深度比较方式,返回在旧数组中被移除的对象和在新数组中新增的对象
示例
const diff = diffArray(
  [{ self_id: 123, token: '123' }, { self_id: 222, token: '123' }],
  [{ self_id: 123, token: '123' }, { self_id: 333, token: '123' }]
)
// 结果: {
//   removed: [{ self_id: 222, token: '123' }],
//   added: [{ self_id: 333, token: '123' }],
//   common: [{ self_id: 123, token: '123' }]
// }