blear.utils.array

1Introduction

2Example

var array = require('blear.utils.array');

3Static

3.1.like(obj): isLike

判断一个对象是否为似数组,类数组必须有 length 属性,并且其 0 ~ length-1 对应的属性名, 如ArgumentsNodeList都是类数组。

array.like({0: "a", 1: "b", length: 2});
// => true

3.1.1obj

  • 类型:*

3.1.2isLike

  • 类型:Boolean

3.2.each(arr, callback(index, val), [invertedOrder=false]): undefined

数组的遍历。

3.2.1arr

  • 类型:Array
  • 说明:数组、类数组都可以

3.2.2callback

  • 类型:Function
  • 说明:遍历回调
3.2.2.1callback: this
  • 类型:this
  • 说明:指向 arr
3.2.2.2callback: index
  • 类型:Number
  • 说明:遍历数组的当前索引值
3.2.2.3callback: val
  • 类型:*
  • 说明:遍历数组的当前值

3.2.3invertedOrder

  • 类型:Boolean
  • 说明:是否倒序遍历,默认 false

3.3.map(arr, callback(val, index)): mappedArray

数组包装器,返回新数组

array.map([1, 2], function(val, index) {
    return val + val;
});
// => [2, 4]

3.3.1arr

  • 类型:Array
  • 说明:数组、类数组都可以

3.3.2callback

  • 类型:Function
  • 说明:遍历回调,返回值将替换遍历当前值
3.3.2.1callback: this
  • 类型:Object
  • 说明:指向 arr
3.3.2.2callback: val
  • 类型:*
  • 说明:遍历数组的当前值
3.3.2.3callback: index
  • 类型:Number
  • 说明:遍历数组的当前索引值

3.3.3mappedArray

  • 类型:Array
  • 说明:返回包装后的新数组

3.4.filter(arr, callback): filteredArray

数组过滤器,返回新数组。

array.filter([1, 2, 3], function(val, index) {
    return index % 2 !== 0;  
});
//  => [2]

3.4.1arr

  • 类型:Array
  • 说明:数组、类数组都可以

3.4.2callback

  • 类型:Function
  • 说明:遍历回调,返回 true 则当前被遍历的值被筛选
3.4.2.1callback: this
  • 类型:Object
  • 说明:指向 arr
3.4.2.2callback: val
  • 类型:*
  • 说明:遍历数组的当前值
3.4.2.3callback: index
  • 类型:Number
  • 说明:遍历数组的当前索引值

3.4.3filteredArray

  • 类型:Array
  • 说明:返回新数组

3.5.from(arrayLike): reallyArray

将类数组对象转换为真数组。

array.from({0: "a", 1: "b", length: 2});
// => ["a", "b"]

3.5.1arrayLike

  • 类型:*
  • 说明:类数组,即可以被array.like检测通过的对象

3.5.2reallyArray

  • 类型:Array
  • 说明:返回新数组

3.6.remove(arr, indexes): originArray

根据索引值从数组中删除,返回原数组。

array.remove(["a", "b", "c"], 0);
// => ["b", "c"]

array.remove(["a", "b", "c"], [0, 2]);
// => ["b"]

3.6.1arr

  • 类型:Array

3.6.2indexes

  • 类型:Number | Array
  • 说明:待删除的数组索引值,可以是单个索引,也可以是一串索引组成的数组

3.6.3originArray

  • 类型:Array
  • 说明:返回原始数组

3.7.delete(arr, item, [deep=false]): originArray

根据数组元素从数组中删除,返回原数组。

array.delete(["a", "b", "c", "a", "b", "c"], "a");
// => ["b", "c", "a", "b", "c"]

array.delete(["a", "b", "c", "a", "b", "c"], "a", true);
// => ["b", "c", "b", "c"]

3.7.1arr

  • 类型:Array

3.7.2item

  • 类型:*
  • 说明:待删除的值

3.7.3deep

  • 类型:Boolean
  • 说明:是否深度删除,即完整遍历整个数组,相同匹配的项
  • 默认:false

3.7.4originArray

  • 类型:Array
  • 说明:返回原始数组

3.8.range(start, end): rangedArray

根据起始、终止值返回一个由数字组成的范围数组。

array.range(10, 13);
// => [10, 11, 12, 13]

3.8.1start

  • 类型:Number
  • 说明:起始值

3.8.2end

  • 类型:Number
  • 说明:终止值,必须大于起始值

3.8.3rangedArray

  • 类型:Array
  • 说明:返回一个新数组

4Dependencies

5Reference