[TOC]

数组辅助函数(Arr)

数组方法库允许您通过简单的方式访问和操作数组。

可用方法

  • Merge
  • Rand
  • Shuffle
  • Splice
  • Chunk
  • Fill
  • Remove
  • Filter
  • Map
  • Pop
  • Push
  • Reduce
  • Slice
  • Shift
  • Unshift
  • Reverse
  • IndexOf
  • Difference
  • RemoveAt
  • Flash
  • Cut

Merge

将多个数组合并成一个数组。

Arr.Merge(new []{"1","2"} , new []{"3"}); // ["1" , "2" , "3"]

Rand

从规定数组中获取一个或者指定数量的随机值。

var result = Arr.Rand(new []{"1", "2" , "3"});

Shuffle

将规定数组中的元素打乱。

var result = Arr.Shuffle(new []{"1" , "2" , "3"});

Splice

从数组中移除指定长度的元素,如果给定了替换数组参数,那么替换数组中的元素将会从起始位置开始插入。

var data = new []{"1","2","3"};

Chunk

将数组分为新的数组块,其中每个数组的单元数目由大小参数决定。最后一个数组的单元数目可能会少几个。

var result = Arr.Chunk(new []{"1","2","3"} , 2);

Fill

对数组进行填充,如果传入了规定数组,那么会在规定数组的基础上进行填充

var result = Arr.Fill(2,3,"100",new []{"1","2","3"});

Remove

将数组每个值传给回调函数,如果回调函数返回 true,则移除数组中对应的元素,并返回被移除的元素

var data = new string[]{"1","2","3"};

Filter

输入数组中的每个值传给回调函数,如果回调函数返回 true,则把输入数组中的当前值加入结果数组中。

var result = Arr.Filter(new[]{"1", "2" , "3" , "4" , "5"},(v) => (v % 2) == 0);

Map

将数组值传入用户自定义函数,自定义函数返回的值作为新的数组值。

var result = Arr.Map(new[]{1 , 2 , 3} , (v) => v * 2);

Pop

删除数组中的最后一个元素,并将删除的元素作为返回值返回

var data = new []{"1","2","3"};

Push

将一个或多个元素加入数组尾端。

var data = new []{"1","2"};

Reduce

向用户自定义函数发送数组中的值,并返回一个字符串。如果数组是空的且未传递初始化参数,该函数返回 null。如果指定了初始化参数,则该参数将被当成是数组中的第一个值来处理,如果数组为空的话就作为最终返回值(string)。

var result = Arr.Reduce(new []{"1" , "2" , "3"},(v1,v2)=> v1+"-"+v2,"0");

Slice

在数组中根据条件取出一段值,并返回。

var result = Arr.Slice(new []{"1","2","3","4","5"},1,3);

Shift

删除数组中第一个元素,并返回被删除元素的值

var data = new []{"1","2","3"};

Unshift

向数组插入新元素。新数组的值将被插入到数组的开头。

var data = new []{"2","3"};

Reverse

以相反的顺序返回数组。

var result = Arr.Reverse(new []{"1" , "2" ,"3"});

IndexOf

从数组中检索指定的值并返回所在的下标,如果返回-1则代表没有出现

var result = Arr.IndexOf(new []{"1" , "2" ,"3" , "4" , "5"} , new []{ "2" , "3" });

Difference

从数组中排除指定的值

var result = Arr.Difference(new []{"1" , "2" ,"3" , "4" , "5"} , new []{ "2" , "3" });

RemoveAt

从数组中移除并返回指定下标的元素。

var src = new object[]{ "1" , "2" , "3" };

Flash

临时性的回调元素,如果遇到异常或者完成回调后会进行回滚元素回调

var src = new object[]{ "a", "b" , "c" };

Cut

修剪指定长度的数组,负数为从后向前修剪

var data = new char[] { '1', '2', '3', '4', '5' };