obj-chain
是一个能够帮助开发者更加简便地访问 JavaScript 对象属性的 npm 包。使用 obj-chain
可以更加方便地进行对象操作,尤其是嵌套对象的操作。
安装
通过 npm 安装 obj-chain
:
npm install obj-chain
基本使用
下面我们具体介绍基本使用方法。
数组方法
-- -------------------- ---- ------- ----- -------- - -------------------- -- ------ ----- --- - --- -- -- -- -- -- ------ ----- ------ - -------------------- ------------------- -- - -- ---- ------ -- ----- ----------- - ------------- --------------- -- ----- - - --- -- -------- ------------------------ -- --- --
对象方法
-- -------------------- ---- ------- ----- -------- - -------------------- -- ------ ----- --- - - ----- ------- ---- --- -------- ----------- ----------- ----------- -------- - --------- ---------- ----- -------- - - -- ---- ------ -- ----- ------ - ------------- --------- ------- --------- -------- ------------ -- -------- ------------------- -- ------ ------- ---- --- -------- ----------- ----------- ---------- ------------ -------- ---------- ---------- ----- ---------- ------- --------- -- ---- --- -- ----- ------- - ----------------------------------------- -------------------- -- ------
深入理解
链式调用
obj-chain
的主要特点就是链式调用,可以在一条语句中进行多次操作。
链式调用的方式可以更加简洁明了地进行操作,完美解决了传统方法需要多次定义变量的冗长问题。
实例化
要使用 obj-chain
进行对象操作,需要将需要操作的对象作为参数传入 objChain
方法中,然后再进行后续的操作。
const obj = { name: 'Lucy', age: 18 } const instance = objChain(obj) console.log(instance.isObjChain) // true
链式调用方法
链式调用方法主要有以下几个:
assign
函数将新的值与现有值合并,覆盖相同的 Key:返回新对象,不会修改原始对象。
const obj = { name: 'Lucy', age: 18 } const newObj = objChain(obj) .assign({ name: 'Jack', phone: '123456' }) .value() console.log(newObj) // {name: "Jack", age: 18, phone: "123456"}
extend
函数将新的值与原有值进行合并:返回新对象,不会修改原始对象。
const obj = { name: 'Lucy', age: 18 } const newObj = objChain(obj) .extend({ name: 'Jack', phone: '123456' }) .value() console.log(newObj) // {name: "Jack", age: 18, phone: "123456"}
get
函数用于获取对象属性,默认返回
undefined
。const obj = { name: 'Lucy', age: 18 } const name = objChain(obj).get('name').value() console.log(name) // Lucy
pick
函数用于从对象中仅选取指定的属性,并形成新的对象。若取得的值为空,则返回 {}。
const obj = { name: 'Lucy', age: 18, phone: '123456' } const newObj = objChain(obj).pick(['name', 'phone', 'hobbies']).value() console.log(newObj) // {name: "Lucy", phone: "123456"}
omit
函数用于从对象中移除指定的属性,并形成新的对象。若移除后为空,则返回 {}。
const obj = { name: 'Lucy', age: 18, phone: '123456' } const newObj = objChain(obj).omit(['name', 'phone', 'hobbies']).value() console.log(newObj) // {age: 18}
mapValues
函数用于对对象中每个值进行操作,并且返回一个新的对象。
-- -------------------- ---- ------- ----- --- - - ----- ------- ---- -- - ----- ------ - ------------- ------------------ -- - -- ------- ----- --- --------- - ------ ----- - ------ ------------------- -- -------- ------------------- -- ------ ------- ---- ---
filter
函数用于过滤对象和数组类型。
const obj = { name: 'Lucy', age: 18 } const newObj = objChain(obj) .filter((value) => value === 'Lucy') .value() console.log(newObj) // {name: "Lucy"}
.value()
所有的链式调用在结束之后都需要调用 .value()
方法获取返回值。
总结
通过本篇文章的学习,我们可以更加清晰地了解了 obj-chain
npm 包的基本安装和使用方法,并使用具体的示例代码深入理解了其实现原理。
在实际开发中,obj-chain
的使用可以大大简化代码量,提升开发效率,帮助我们更加轻松地完成对象属性的操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600558ba81e8991b448d608f