每天一个lodash方法(6)
标签:
JavaScript
fromPairs
功能:将数组解析成对象。
@pairs: 需要解析的键值对数组 @result: 返回的对象function fromPairs(pairs) { var index = -1, length = pairs == null ? 0 : pairs.length, result = {}; // 遍历数组,对象赋值 while (++index < length) { var pair = pairs[index]; result[pair[0]] = pair[1]; } return result; }
indexOf
功能:从指定位置(fromIndex,默认为0)开始查询数组array
中第一个值为value
的元素,返回该元素下标。
function indexOf(array, value, fromIndex) { const length = array == null ? 0 : array.length if (!length) { return -1 } let index = fromIndex == null ? 0 : +fromIndex // 确定起始位置,并对位置进行判断 if (index < 0) { index = Math.max(length + index, 0) } // 核心查询方法 return baseIndexOf(array, value, index) }// baseIndexOffunction baseIndexOf(array, value, fromIndex) { // 根据类型的不同,执行不同的查找方法,但是核心查找方法都是遍历比较 return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex) }// strictIndexOffunction strictIndexOf(array, value, fromIndex) { let index = fromIndex - 1 const { length } = array while (++index < length) { if (array[index] === value) { return index } } return -1}// baseFindIndex类似,不同之处在于将判断相等变成了谓词判定
initial
功能:返回数组除最后一个之外的所有元素。
方法:slice切割。
function initial(array) { const length = array == null ? 0 : array.length return length ? slice(array, 0, -1) : [] }
作者:公子七
链接:https://www.jianshu.com/p/b32331ebd885
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦