Skip to content

keyBy

映射数组中的每个元素,基于提供的生成键的函数

函数接受一个数组和一个函数作为参数,返回一个对象,其中包含原数组中每个元素映射后的结果,基于提供的生成键的函数。

如果数组中有重复的键,则后出现的元素将覆盖前面的元素。

签名

ts
function keyBy<T, U>(arr : T[], iteratee : (item : T) => U) : UTSJSONObject

参数

  • arr(T[]):需要处理的数组。
  • iteratee((item : T) => U):一个函数,用于生成键。

返回值

UTSJSONObject:一个对象,其中包含原数组中每个元素映射后的结果,基于提供的生成键的函数。

示例

ts
import { keyBy } from '@/uni_modules/kux-toolkit'

const arr15 = [
    { category: 'fruit', name: 'apple' },
    { category: 'fruit', name: 'banana' },
    { category: 'vegetable', name: 'carrot' },
]
const keyedArr = keyBy(arr15, (item) : string => item['category'] as string)
console.log(keyedArr)
// {
//     fruit: { category: 'fruit', name: 'banana' },
//     vegetable: { category: 'vegetable', name: 'carrot' },
// }

Released under the MIT License.