asko / collection

用于处理集合的实用库。

v1.0 2024-06-23 00:14 UTC

This package is auto-updated.

Last update: 2024-09-23 01:01:29 UTC


README

codecov

一个封装项目集合的通用类,并提供帮助方法来处理该集合。

安装

composer require asko/collection

使用

创建一个新的集合就像创建一个新的 Collection 类实例,并将一个项目数组传递给构造函数一样简单。

use Asko\Collection\Collection;

$collection = new Collection([1, 2, 3, 4, 5]);

可用方法

push

向集合中添加一个项目。

$collection->push(6);

filter

使用回调过滤集合。

$collection->filter(function ($item) {
    return $item > 3;
});

map

使用回调映射集合。

$collection->map(function ($item) {
    return $item * 2;
});

any

检查集合中是否有任何项目通过真值测试。

$collection->any(function ($item) {
    return $item > 3;
});

all

检查集合中的所有项目是否通过真值测试。

$collection->all(function ($item) {
    return $item > 3;
});

each

遍历集合。

$collection->each(function ($item) {
    echo $item;
});

reduce

将集合减少到单个值。

$collection->reduce(function ($acc, $item) {
    return $acc + $item;
}, 0);

first

获取集合中的第一个项目。

$collection->first();

last

获取集合中的最后一个项目。

$collection->last();

avg

通过谓词获取集合中项目的平均值。

$collection->avg(function ($item) {
    return $item * 2;
});

sum

通过谓词获取集合中项目的总和。

$collection->sum(function ($item) {
    return $item * 2;
});

count

获取集合中的项目数量。

$collection->count();

toArray

将集合作为数组获取。

$collection->toArray();