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

JS 数组转Object和Map

一、结论:

1、JavaScript 对象的属性顺序规则是:对象属性如果是“数字型键”,在遍历时会按照 数值升序 排列。
2、需要键值对 + 保持顺序,建议用 Map

二、代码

 <ProFormSelectdisabled={!pointReason}allowClear={false}label={formatMessage({ id: 'apple' })}name="amount"rules={[{ required: true }]}valueEnum={amountValueEnum}/>

在这里插入图片描述
valueEnum 值 支持 object 和Map,Map 是支持其他基础类型作为 key

const arr = [3000, 2000, 1000];
1、转成Map类型
const map = new Map(arr.map((item) => [item, item.toString()]));console.log(map);
输出: {3000 => '3000', 2000 => '2000', 1000 => '1000'}2、转成objectconst amountValueEnum = arr.reduce((acc, val, index) => {acc[val.toString()] = val.toString();return acc;},{} as Record<string, string>);
输出:{1000: '1000', 2000: '2000', 3000: '3000'}

3、Map 转object

     const amountValueEnum = Object.fromEntries(priceData?.amountList?.map((item, index) => [item.toString(), // key 必须是 stringpriceData?.addTemporaryQuota && index === 0? item.toString() + '⬆': item.toString(), // 展示用]) || []输出:{1600000: '1600000', 1900000: '1900000', 2200000: '2200000', 2600000: '2600000', 3000000: '3000000', 3500000: '3500000', 4000000: '4000000'}
http://www.xdnf.cn/news/14244.html

相关文章:

  • PHP基础-运算符
  • 【62 Pandas+Pyecharts | 智联招聘大数据岗位数据分析可视化】
  • 如何VMware虚拟机扩容磁盘,有很详细图文
  • Blazor Web Assembly - 使用Power Automate Desktop来跟踪一下Blazor页面的内存使用情况
  • 动态规划:求最长回文子串
  • OpenMMlab导出MaskFormer/Mask2Former实例分割模型并用onnxruntime和tensorrt推理
  • DB2连接池监控与挂起连接释放指南
  • Win32OpenSSL工具下载地址
  • Electron截取响应体
  • @Validation 的自定义校验实现, Spring Boot 和 java
  • 实现网页中嵌入B站视频播放器:解决high_quality=1 失效的问题
  • struct stat结构体
  • NY230NY233美光固态闪存NY237NY246
  • 【Transformer拆解】-2. 位置编码(Positional Encoding)
  • 一个密码实现库crypto-work
  • Pandas数据工程深度解析
  • 四数之和-力扣
  • XSS (Reflected)-反射型XSS
  • 晶振常见封装工艺及其特点
  • 深入讲解 Ollama 的源码
  • 【Java多线程从青铜到王者】定时器的原理和实现(十一)
  • Spring依赖注入源码学习:基于XML配置的DI源码解析
  • PGCP:用于比较基因组学的植物基因组综合数据库-文献精读144
  • 信息学奥赛一本通 1543:【例 3】与众不同
  • ubuntu之坑(十四)——安装FFmpeg进行本地视频推流(在海思平台上运行)
  • UVM同步的方法
  • RPT:预训练新范式,用强化学习做预训练!
  • 生成式AI如何与RPA融合?
  • Cursor-1.0安装Jupyter-Notebook,可视化运行.ipynb文件中Python分片代码
  • 使用麒麟V10操作系统的KVM服务,但麒麟V10存在高危漏洞无法修复?