Map与数组、对象之间的转换

news/2024/7/19 14:49:13 标签: js, map

Map与数组、对象之间的转换

Map转数组

const map = new Map();
map.set(1,"23").set(2,"32").set(3,"45");
const arr = [...map];
console.log(arr);

数组转Map

const arr = ["foo","bar","baz"];
const arrChangeMap = (arr) => new Map(arr.map( (value,key) => [key,value]));
console.log(arrChangeMap(arr));

Map转对象

const map = new Map();
map.set(1,"foo").set(2,"bar").set(3,"baz");
const mapChangeObj = (map) => {
     let obj = {};
     for(let [k,v] of map) {
         obj[k] = v;
     }
     return obj;
}
console.log(mapChangeObj(map));

对象转Map

const obj = {
       "1" : "foo",
       "2": "bar",
      "3" : "baz",
}
const objChangeMap = (obj) => {
      let map = new Map();
      for(let key in obj) {
           map.set(key,obj[key]);
      }
      return map;
}
console.log(objChangeMap(obj));

数组转对象

const arr= [
	{key:"a",value:'31231'},
	{key:"b",value:'31231'},
	{key:"c",value:'31231'},
	{key:"d",value:'31231'},
]
let obj = arr.reduce(
            (accumulator, current) => {
              accumulator[current.key] = current;
              return accumulator;
            },
            {}
          );
console.log(obj)

http://www.niftyadmin.cn/n/565893.html

相关文章

EasyPoi 按模板写入数据导出Excel

1 Maven依赖 <!-- EasyPoi文档处理工具 --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.4.0</version></dependency> 2 调试代码 /*** 按模板写入数据导出Excel** p…

ant-design中表头自定义添加按钮

ant-design中表头自定义添加按钮 效果如下 代码如下 <template><div><a-table:columns"column":data-source"data":pagination"false":rowKey"(record) > { return record.id;}"><templateslot"price&…

Visual Studio ID为xxx的进程当前未运行问题解决

问题描述&#xff1a; ID为13072的进程当前未运行。 问题分析&#xff1a; 1、IIS服务器无法启动&#xff0c;导致项目启动失败。 解决办法&#xff1a;关闭Visual Studio&#xff0c;重新打开Visual Studio&#xff0c;再启动项目即可。

Vusual Studio 程序“[xxx] iisexpress.exe: 程序跟踪”已退出,返回值为 0 (0x0)问题解决

问题描述&#xff1a; 程序“[13352] iisexpress.exe: 程序跟踪”已退出&#xff0c;返回值为 0 (0x0)。 问题分析&#xff1a; 1、IIS服务器无法启动&#xff0c;导致项目启动失败。 解决办法&#xff1a;关闭Visual Studio&#xff0c;重新打开Visual Studio&#xff0c;…

vue报configJs = configJs + ‘(typeof window==‘undefined‘?global:window).__theme_COLOR_css=‘ + JSON

vue报configJs configJs ‘(typeof window‘undefined’?global:window).__theme_COLOR_css’ JSON 报上图所示错误&#xff0c;是因为webpack-theme-color-replacer版本和package.json中的版本不一致&#xff0c;一般是版本过高&#xff0c;可以先通过命令行npm list webp…

C# HTTP Error 500.23 - Internal Server Error检测到在集成的托管管道模式下不适用的ASP.NET设置问题解决

问题描述&#xff1a; HTTP Error 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。 问题分析&#xff1a; 1、IIS服务器启动有问题&#xff0c;导致该报错。 解决办法&#xff1a;关闭Visual Studio&#xff0c;重新打开Visual Studi…

video标签的全部配置

video标签的全部配置 src&#xff1a;要播放的路径地址autoplay&#xff1a;是否自动播放&#xff0c;默认值是false,&#xff08;Boolean&#xff09;loop&#xff1a;是否循环播放&#xff0c;默认值是false,&#xff08;Boolean&#xff09;muted&#xff1a;是否静音播放&…

EasyPoi 导出Excel(ExcelExportEntity生成表头)

1 Maven依赖 <!-- EasyPoi文档处理工具 --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.4.0</version></dependency> 2 调试代码 /*** 写入数据导出Excel** param r…