Lodash常用函数~数组操作
_.chunk(数组分割)
对于数组进行分割,返回一个新数组
lodash.chunk([], 1) // 空数组调用
// => []
lodash.chunk([1,2,3,4], 3) // 正常调用,不能均分则剩余的单独作为一个数组
// => [[1,2,3],[4]]
lodash.chunk('1234', 3) // 字符串也可以(对象不可以,会返回空数组)
// =>[["1","2","3"],["4"]]
lodash.chunk([1, [2, 2], 3, 4], 3) // 只会分割最外层
// => [[1,[2,2],3],[4]]
_.compact (常用)
传入一个数组,返回一个过滤掉所有bool值为false的新数组,这个还是比较常用的,取代了filter
lodash.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]
lodash.compact('0123') // 对于单个字符串会进行分割处理
// => ["0","1","2","3"]
_.concat(常用)
字符串连接,返回一个新数组,但是区别是可以无限传数组(理论上如此)
var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
console.log(other);
// => [1, 2, 3, [4]]
console.log(array);
// => [1]
_.drop , _.dropRight(常用)
本来是可以删除第一个元素,现在扩展成删除指定数量的元素,dropRight和drop功能和用法一样,只是方向不同
_.drop([1, 2, 3]);
// => [2, 3]
_.drop([1, 2, 3], 2);
// => [3]
_.drop([1, 2, 3], 5);
// => []
_.drop([1, 2, 3], 0);
// => [1, 2, 3]
_.fill (常用)
等价与splice方法,但是更智能,默认是全部替换
注意: 和splice等价,返回原数组!!!
@para1 目标数组
@para2 替换目标值
@para3 开始下标(可选)
@para4 结束下标(可选)
var array = [1, 2, 3];
_.fill(array, 'a');
console.log(array);
// => ['a', 'a', 'a']
_.fill(Array(3), 2);
// => [2, 2, 2]
_.fill([4, 6, 8, 10], '*', 1, 3);
// => [4, '*', '*', 10]
.findIndex,.findLastIndex,_.indexOf(常用,推荐学习)
// 第一个参数需是数组
区别 findIndex和findLastIndex传入的是对象数组
indexOf传入的是普通数组(数组的每个元素都是基本类型(不包括对象和数组))