1Introduction
- description:数组函数
- author:#云淡然
- create:未明确
- update:未明确
- github:https://github.com/blearjs/blear.utils.array
2Example
var array = require('blear.utils.array');
3Static
3.1.like(obj): isLike
判断一个对象是否为似数组,类数组必须有 length
属性,并且其 0 ~ length-1
对应的属性名,
如Arguments
、NodeList
都是类数组。
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
- 说明:返回一个新数组