最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

焦点热议:nodejs处理嵌套对象的npm包:dot-prop

来源:博客园


【资料图】

dot-prop是一个 JavaScript 库,用于处理嵌套对象的属性,它允许您通过点符号(.)访问和修改嵌套对象的属性,而不需要使用复杂的递归函数或多个if语句来处理。

引入dot-prop库非常简单,可以通过 npm 进行安装:

  • npm install dot-prop使用dot-prop库的语法非常简单,下面是一些基本的示例:
"dot-prop": "^5.2.0",如果引入最新版本的7.2.0我的环境是不行的.require引入报错node16.6.1 15.7.0都require不兼容
const dotProp = require("dot-prop");// 注意dot-prop安装最新7的版本,这样引入是不行的!!!!const obj = {  foo: {    bar: {      baz: 42    }  }};// 获取属性const val = dotProp.get(obj, "foo.bar.baz");console.log(val); // 输出 42// 设置属性dotProp.set(obj, "foo.bar.baz", 43);console.log(obj.foo.bar.baz); // 输出 43// 删除属性dotProp.delete(obj, "foo.bar.baz");console.log(obj.foo.bar.baz); // 输出 undefined
如上所示,使用dot-prop库非常简单,只需要传递对象和属性路径作为参数即可。其中,get() 方法用于获取属性的值,set() 方法用于设置属性的值,delete() 方法用于删除属性。在属性路径中,使用点号(.)来表示嵌套对象中的下一级属性。使用dot-prop库可以使您的代码更加简洁和易于维护,特别是当您需要处理大量嵌套对象的属性时,它的优势就更加明显了。
  • 可以直接嵌套属性样式来判断和使用
if(dp.has(obj, "root.lines")) {                    var ret = dp.get(obj, "root.lines")                }
  • https://www.npmjs.com/package/dot-prop/v/5.3.0 最新7.2.0用ts写的

关键词: