本文为lodash源码分析的第17篇,后续会持续更新这个专题,欢迎指正。
依赖
import baseAt from './.internal/baseAt.js';
import baseFlatten from './.internal/baseFlatten.js';
源码分析
at函数可以根据传入的一组路径paths,获取object里对应的一组值。
const at = (object, ...paths) => baseAt(object, baseFlatten(paths, 1));
首先,使用...把路径都收集到paths参数里。
由于路径参数不定,可以传入数组,也可以一个一个地传。
所以,需要调用baseFlatten函数将 路径参数paths展开一层。
再调用baseAt函数获取路径对应的值。