为了账号安全,请及时绑定邮箱和手机立即绑定

每天一个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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消