コンテンツにスキップ

p-array

array モジュールは配列を操作するためのユーティリティ関数を提供します。

use p-array as a

val が配列であれば true を返します。

use p-array as a
a.isarray[list[1; 2; 3]] -- true
a.isarray[42] -- false

イテラブルまたは配列風の値から配列を作成します。

与えられた引数から配列を作成します。

start から end(排他的)までの数値配列を作成します。step のデフォルトは 1。

use p-array as a
a.from[///hello///] -- ["h", "e", "l", "l", "o"]
a.of[1; 2; 3] -- [1, 2, 3]
a.range[0; 5] -- [0, 1, 2, 3, 4]
a.range[0; 10; 2] -- [0, 2, 4, 6, 8]

要素数を返します。

最初の要素を返します。

最後の要素を返します。

use p-array as a
const xs be list[10; 20; 30]
a.len[xs] -- 3
a.first[xs] -- 10
a.last[xs] -- 30

ネストされた配列を指定された depth までフラット化します(デフォルト: 全階層)。

重複値を除去した新しい配列を返します。

すべてのfalsyな値を除去した新しい配列を返します。

数値昇順でソートした新しい配列を返します。

数値降順でソートした新しい配列を返します。

use p-array as a
a.flatten[[[1; 2]; [3; [4; 5]]]] -- [1, 2, 3, 4, 5]
a.unique[list[1; 2; 2; 3; 1]] -- [1, 2, 3]
a.compact[list[0; 1; null; 2; //////; 3]] -- [1, 2, 3]
a.sortasc[list[3; 1; 2]] -- [1, 2, 3]
a.sortdesc[list[3; 1; 2]] -- [3, 2, 1]

配列を指定されたサイズのチャンクに分割します。

複数の配列をタプルの配列にジップします。

タプルの配列を個別の配列にアンジップします。

各要素に対して fn を呼び出した結果でグループ化します。

use p-array as a
a.chunk[list[1; 2; 3; 4; 5]; 2] -- [[1, 2], [3, 4], [5]]
a.zip[list[1; 2]; list[///a///; ///b///]] -- [[1, "a"], [2, "b"]]
a.groupby[list[1; 2; 3; 4; 5]; fn x to
if x mod 2 eq 0 then ///even/// else ///odd///
]
-- { odd: [1, 3, 5], even: [2, 4] }

全要素の合計を返します。

全要素の積を返します。

最小の要素を返します。

最大の要素を返します。

fntrue を返す要素の数を返します。

use p-array as a
const xs be list[1; 2; 3; 4; 5]
a.sum[xs] -- 15
a.product[xs] -- 120
a.min[xs] -- 1
a.max[xs] -- 5
a.count[xs; fn x to x gt 2] -- 3