当前位置: 首页 > news >正文

循环遍历把多维数组中的某个值改成需要的值

如何循环遍历把多维数组中的某个值改成需要的值

递归函数的用法
function replaceValueInNestedObjects(data, key, oldValue, newValue) {if (Array.isArray(data)) {// 如果数据是一个数组,则遍历它的每个元素data.forEach(item => replaceValueInNestedObjects(item, key, oldValue, newValue));} else if (typeof data === 'object' && data !== null) {// 如果数据是一个对象,则遍历它的每个属性Object.keys(data).forEach(k => {if (k === key && data[k] === oldValue) {// 如果当前键和值匹配,则替换为新的值data[k] = newValue;} else {// 否则,递归检查当前属性的值replaceValueInNestedObjects(data[k], key, oldValue, newValue);}});}
}// 示例多层嵌套对象数组
const nestedData = [{ id: 1, value: 5 },[{ id: 2, value: 5 },{ id: 3, value: 10 }],{id: 4,value: 5,nested: [{ id: 5, value: 5 },{ id: 6, value: 15 }]}
];// 调用函数
replaceValueInNestedObjects(nestedData, 'value', 5, 10);// 打印结果
console.log(nestedData);
data: 需要被遍历的数据。
key: 需要被修改的属性名。
oldValue: 需要被替换的旧值。
newValue: 新的值。
函数首先检查 data 是否是一个数组或对象。如果是数组,它会遍历每个元素并递归调用自身。如果是对象,它会遍历每个属性,并检查属性名是否匹配 key。如果匹配并且属性值等于 oldValue,则将其替换为 newValue。如果不匹配,或者属性值本身也是一个对象或数组,则递归调用 replaceValueInNestedObjects 函数。这个函数可以处理任意深度的嵌套结构。你可以根据需要调整它来满足你的具体需求

http://www.mrgr.cn/news/34883.html

相关文章:

  • 数据仓库面试题集离线实时
  • 【ES6】ES6中,如何实现桥接模式?
  • C++20 概念与约束(1)—— SFINAE
  • 重学 Android 自定义 View 系列(六):环形进度条
  • 内网对抗-信息收集篇SPN扫描DC定位角色区域定性服务探针安全防护凭据获取
  • 基于STM32的智能家居安防系统设计
  • wpf如何进行数据绑定与动态数据操作?
  • 【电商搜索】现代工业级电商搜索技术-Ha3搜索引擎平台简介
  • 管理方法(11)-- 阿米巴经营
  • 深度学习之表示学习 - 贪心逐层无监督预训练篇
  • eBPF系列:开发流程
  • 数据科学的秘密武器:defaultdict——Python字典的自动化填充神器,让数据结构更灵活
  • python 实现word frequency functions词频函数算法
  • 卷积神经网络(CNN)图像处理与识别原理
  • 汽车HMI:UI设计进入了3D时代,设计师准备好了吗?
  • LabVIEW提高开发效率技巧----使用状态机架构
  • 低侧双向电流检测电路设计
  • GoJs 节点动态添加样式
  • AI驱动TDSQL-C Serverless 数据库技术实战营-Vanna配合ollama分析TDSQL-C Serverless 数据库
  • Mybatis基础操作
  • 奇迹再现!帕金森患者6年后停药,竟能自如行走:背后的故事与启示
  • 【Python】多个dataframe存入excel的不同的sheet表里,而不会被覆盖的方法
  • 全面解析 Apache Pulsar
  • 数据结构(顺序表)
  • lamda表达式例子全集详解
  • JAVA智能匹配真情传递红娘婚恋交友系统小程序源码