基本介绍
@hypefactors/js-get
是一个 JavaScript 工具库,主要用于从 JavaScript 对象中获取属性值。它可以覆盖多层对象结构并处理不存在的属性。
此外,@hypefactors/js-get
还支持获取数组中的元素,还可以通过使用点语法指定属性路径。
安装
使用 npm
安装:
npm install @hypefactors/js-get
或者使用 yarn
安装:
yarn add @hypefactors/js-get
使用方法
在你的代码中导入 @hypefactors/js-get
:
import { get } from '@hypefactors/js-get';
现在,你可以使用 get
方法获取任何对象的属性值。如下所示:
-- -------------------- ---- ------- ----- --- - - -- - -- - -- --- -- -- -- ----- ----- - -------- --------- ------------------- -- --
此外,@hypefactors/js-get
还可以处理不存在的属性路径,而不抛出undefined 错误。如下所示:
const obj = {}; const value = get(obj, 'a.b.c'); console.log(value); // undefined
默认情况下,get
只返回 undefined
。你可以使用 defaultValue
参数设置默认值。如下所示:
const obj = {}; const value = get(obj, 'a.b.c', 'defaultValue'); console.log(value); // 'defaultValue'
get
方法还可以从数组中获取值。如下所示:
const arr = ['a', 'b', 'c']; const value = get(arr, '1'); console.log(value); // 'b'
更高级的用法
计算属性名
在仅知道要获取的属性名的情况下,请使用计算的属性名。如下所示:
const obj = { a: { 'b.c': 42, }, }; const value = get(obj, 'a["b.c"]'); console.log(value); // 42
处理无法解析的属性路径
在默认情况下, get
会返回 undefined
,如果无法解析属性路径。但是,你可以使用 onUndefiend
参数自定义返回值。如下所示:
const obj = {}; const value = get(obj, 'a.b.c', () => 'custom value'); console.log(value); // 'custom value'
处理数组
当使用点语法 (.
) 时,get
将忽略数组的索引。但是,你可以使用数组索引指定要获取的值。例如:
-- -------------------- ---- ------- ----- --- - - -- - - -- ------ --- -- - -- ------ --- -- -- -- ----- ----- - -------- ---------- ------------------- -- ------ --
手动设置分隔符
使用默认配置时,get
将使用 .
作为属性路径中属性之间的分隔符。但是,你可以使用 separator
参数自定义分隔符,如下所示:
-- -------------------- ---- ------- ----- --- - - -- - -- - -- --- -- -- -- ----- ----- - -------- -------- - ---------- --- --- ------------------- -- --
总结
@hypefactors/js-get
是一个非常有用的 JavaScript 工具库,可用于从对象和数组中获取属性值。它允许你通过点语法和自定义分隔符来获取嵌套属性,而无需添加大量的 null 或 undefined 检查的代码。
如果你正在构建一个大型的 JavaScript 应用程序,并需要处理嵌套属性,那么你应该考虑使用 @hypefactors/js-get
。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065b41c6eb7e50355dbcd6