js 对象中替换键名,值不变;对象中键的值是数组,将数组转换为字段串格式

news/2024/11/17 4:35:18/

需求1:在对象中需要键名为’a’的键改为‘b’,并保持值不变

先使用 Object.keys() 方法获取对象的所有键名,Array.prototype.reduce() 方法遍历键名数组,并创建一个新的对象。
遍历过程中,使用新的键名存储旧键名对应的值,其他不需要改变的键名,直接使用原有键名存储对应的值

const obj ={
a:1,
c:2,
d:3
}const newObj = Object.keys(obj).reduce((acc,key)=>{
if(key==='a'){
acc['b'] = obj[key]
}else{
acc[key] = obj[key]
}
return acc   //reduce方法需要返回值
},{})     //定义空对象,acc初始值就是对象,若定义为数组,acc初始值就是数组//新得到的newObj格式如下:
newObj={
b:1,
c:2,
d:3
}

需求2:在对象中,值为数组的需要转换为以逗号分隔的字符串

使用Object.keys() 方法获取对象的所有键名。遍历键名数组,并检查每个键的值是否是数组类型。如果是数组类型,将数组转换为字符串格式。

const obj = {key1: [1, 2, 3],key2: ['a', 'b', 'c'],key3: 'hello'
};for(let key in obj){
// 检查键的值是否是数组类型且长度要超过1(只有1项数据是不需要分割的)
if(Array.isArray(obj[key])&&obj[key].length>1){
obj[key]= obj[key].join(',')//如果需要以','分割,
//用模板字符串obj[key]= obj[key].join(`','`),就能拿到完整的','
}
}

http://www.ppmy.cn/news/977655.html

相关文章

【计算机编程语言】MySQL8+JDBC+Eclipse

文章目录 MySQL1.简介1.1数据库分类1.2MySQL 2.基础2.1数据类型2.1.1数值2.1.2字符串2.1.3时间/日期2.1.4null 2.2字段属性2.3数据库引擎2.4设置字符集编码2.5创建数据库/表2.6修改/删除 表 3.数据管理3.1外键(了解)3.2DML3.3INSERT3.4UPDATE3.5DELECT3.…

静态html引入ucharts并直接使用组件标签

由于官方不能直接使用qiun-vue-ucharts在静态html页面使用。 DIY可视化对此类库进行了改进,把它的包独立打包成一个可以依赖的JS。 首先定义一个核心JS,用于打包生成uchart import qiunVueUcharts from qiun/vue-ucharts;const install (app) > {…

【多选框、表格全选】element el-checkbox、el-table

话不多说 先看效果&#xff1a; 多选框&#xff1a; 表格全选&#xff1a; <template><div><div class"titleLabel"><div class"lineStyle"></div>统计部门</div><div style"display: flex"><e…

Arcgis之 KML/KMZ文件转shp

一般我们在Goole Earth上勾画的区域导出后都为KML或者KMZ格式的&#xff0c;但无法在arcgis等软件上直接应用&#xff0c;故需进行一定的转换 1.打开ArcMap&#xff0c;选择ArcToolbox->Conversion Tools->From KML->KML To Layer 得到如下结果&#xff08;由于本KML…

01背包相关题

题解&#xff1a;dp[j]表示目标和为j时的最大组合种数 class Solution { public:int dp[1005];int findTargetSumWays(vector<int>& nums, int target) {int val;int sum0;for(int i0;i<nums.size();i){sumnums[i];}int wsumtarget;if(w%21){return 0;}else{valw…

打开Android device monitor

X:\assdk\tools monitor.bat 双击 更新到最新

24考研数据结构-线性表4

目录 2.4.4单链表的查找操作&#xff08;默认带头节点&#xff0c;不带头节点后续更新&#xff09;2.4.4.1 按位查找操作2.4.4.2 按值查找操作2.4.4.3 求单链表的长度&#xff08;带和不带头节点都写了&#xff09;2.4.4.4 知识回顾与重要考点 2.4.5 单链表的创建操作2.4.5.1 头…

java中的锁:Synchronized的四种状态(无锁、偏向锁、轻量级锁、重量级锁)

1、什么是Synchronized? Synchronized是java中的关键字,是一种同步锁。它修饰的对象有以下几种&#xff1a;(类, 方法, 代码块) synchronized可以保证方法或代码块在运行时&#xff0c;同一时刻只有一个线程可以进入到临界区&#xff08;互斥性&#xff09;所以它也是排它锁…