lodash-es中的set和get的用法

lodash-eslodash 的一个模块化版本,允许你通过 ES 模块(ECMAScript Modules)的方式按需导入函数,以减少最终打包体积。lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。在 lodash-es 中,_.set_.get 是两个非常有用的函数,用于在深层嵌套的对象中安全地读取和设置值。

_.get

_.get 函数用于从对象或数组中按照路径获取值。如果路径不存在,可以返回默认值。这对于避免在深度嵌套的对象中访问不存在的属性时引发错误非常有用。

语法

javascript 复制代码
_.get(object, path, [defaultValue])
  • object (Object|Array):要查询的对象或数组。
  • path (Array|string):要查询的属性路径。字符串路径中的键可以使用点号(.)或方括号([])分隔。
  • [defaultValue] (*):如果解析的值是 undefined,则返回此值。

示例

javascript 复制代码
import { get } from 'lodash-es';

const object = { 'a': [{ 'b': { 'c': 3 } }] };

console.log(get(object, 'a[0].b.c'));
// => 3

console.log(get(object, ['a', '0', 'b', 'c']));
// => 3

console.log(get(object, 'a.b.c', 'default'));
// => 'default'

_.set

_.set 函数用于设置对象路径上的值。如果路径不存在,将创建它。这对于动态地向深层嵌套的对象添加属性非常有用。

语法

javascript 复制代码
_.set(object, path, value)
  • object (Object|Array):要修改的对象或数组。
  • path (Array|string):要设置的属性路径。字符串路径中的键可以使用点号(.)或方括号([])分隔。
  • value (*):要设置的值。

示例

javascript 复制代码
import { set } from 'lodash-es';

const object = { 'a': [{ 'b': { 'c': 3 } }] };

_.set(object, 'a[0].b.c', 4);
console.log(object.a[0].b.c);
// => 4

_.set(object, ['x', '0', 'y', 'z'], 5);
console.log(object.x[0].y.z);
// => 5

通过这两个函数,你可以灵活地在 JavaScript 对象或数组中读取和设置值,而无需担心路径是否存在。这在处理复杂的数据结构时特别有用。

相关推荐
轻口味5 小时前
AI 时代全栈开发破局:TypeScript 生态实战,从入门到部署一站式通关
前端·mongodb·docker·ai·typescript·react·next.js
Paraverse_徐志斌8 小时前
【AI Agent】常用架构模式:ReAct、Plan-and-Execute、Reflection
人工智能·ai·架构·llm·agent·react
ai超级个体2 天前
前端唯一的护城河?结合 AI 将字节组件库 Headless 化后的感想~
前端·react·ai编程·ant design·组件库·vibe coding
白鳯3 天前
塔罗神谕:星月神域莱诺薇为您占卜
react·web·three.js·codex·deepseek·vibe coding·塔罗占卜
CAE虚拟与现实3 天前
前后端调试常用工具大全
前端·后端·vue·react·angular
书到用时方恨少!4 天前
提示词工程终章:ReAct——让大模型“边想边做”的智能体革命
prompt·agent·react·智能体·提示词工程
suixinm5 天前
Agent 设计模式:从 ReAct、CodeAct 到 Agentic Rag 与多智能体
设计模式·ai·react·rag·ai agent·agent智能体·multi-agent
研究点啥好呢6 天前
面馆开业!客官,你的面(经)好了!
python·阿里云·docker·面试·reactjs·求职招聘·react
1104.北光c°9 天前
【AI核心概念讲解】一口气搞懂 Agent:干翻传统后端!自主循环决策的秘密,ReAct 与 Plan-and-Execute 范式
java·人工智能·程序人生·ai·agent·react·智能体
DevilSeagull11 天前
电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
测试工具·安全·react·vite·localhost·hono·trpc