lodash源码分析之castPath

100 阅读1分钟

本文为lodash源码分析的第三篇,后续会持续更新这个专题,欢迎指正。

依赖

import isKey from './isKey.js'
import stringToPath from './stringToPath.js'

源码分析

castPath函数是对 value 参数统一处理成数组的形式。

function castPath(value, object) {
  if (Array.isArray(value)) {
    return value
  }
  return isKey(value, object) ? [value] : stringToPath(value)
}

首先,判断value参数是不是数组,是就直接返回 value

接着,调用isKey函数判断value是不是属性名,是则返回一个包含value的数组,否则调用stringToPath函数将 value转换成参数数组。