lodash源码分析之at

115 阅读1分钟

本文为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函数获取路径对应的值。