键值是数字时的处理方式

同事碰到接口返回为数值的键值,想处理成自己想要的键值的对象,于是写了个方法来处理类似的数据

‘{"1":"凭订单详情页的入园凭证(入园辅助码或二维码)入园","2":"凭下单时预留的身份证入园","3":""}‘  处理成自己想要的键值的对象

    const content = ‘{"1":"凭订单详情页的入园凭证(入园辅助码或二维码)入园","2":"凭下单时预留的身份证入园","3":""}‘
    const newKey = [‘key1‘, ‘key2‘, ‘key3‘, ‘key4‘]

    function keyConversion(content = ‘{}‘, newKey = []) {
        const obj = JSON.parse(content)
        if (Object.keys(obj).length == 0) return {}
        let [arr, index] = [
            [], -1
        ]
        for (let key in obj) { //遍历拿取对象内的值
            arr.push(obj[key]) //键值为数字时可以通过 obj[key] 的方式拿出来对应数字键值的值
        }
        return arr.reduce((pre, cur) => {
            index++
            return Object.assign(pre, { //每次在对象内合并增加一个新的键值对
                [newKey[index]]: cur
            })
        }, {})
    }
    const newObj = keyConversion(content, newKey)
    console.log(newObj)

原文地址:https://www.cnblogs.com/dajuyiding/p/11515645.html

时间: 2024-11-05 13:04:39

键值是数字时的处理方式的相关文章

JSON的key值为数字时如何使用

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这些特性使JSON成为理想的数据交换语言. 比较标准的写法:

对象key值为数字时的处理

先说解决办法: 通过a[key]的方式获取. 具体场景是这样的: 有一个对象的key是数字组成的,这时候使用a.b的形式就不能获取到相应的value值, 如下图: a.'111'会报错. 特别说明: a['111']和a[111]两种写法都是一样的,没有什么区别,此用法与数组用下标访问是相同的. 另: 当对象的key为一个变量时,并且使用在循环中,那我们可以通过data['key']这种方式来动态生成对象,eg: 总结: 1.对象的key一般应使用合法的变量名(字母或下划线开头的包括字母.下划线

OAF_OAF控件系列 - Key Flexfield键值弹性域的实现(案例)

2014-06-17 BaoXinjian 一.摘要 OAF的弹性域的实现基本和Form的弹性域实现的大体思路是一致的,在注册Table和弹性域完全一样,之后通过控件去实现具体的弹性域显示 Form的弹性域初始化基本都在trigger when-new-form-instance中 OAF的弹性域初始化基本都在processRequest中,或者在processRequest调用AM中的初始化方法 1. 网上的一个例子 新建一个EO,其中需要有相关的CCID字段.这里,如果在EO的Dynamic

linux驱动之中断方式获取键值

linux驱动之中断方式获取键值 ------------------------------------------------------------------------------------------------------------------------------------------------------ 回想在单片机下的中断处理 分辨是哪个中断 调用处理函数 清中断 --------------------------------------------------

大数据技术之_19_Spark学习_02_Spark Core 应用解析+ RDD 概念 + RDD 编程 + 键值对 RDD + 数据读取与保存主要方式 + RDD 编程进阶 + Spark Core 实例练习

第1章 RDD 概念1.1 RDD 为什么会产生1.2 RDD 概述1.2.1 什么是 RDD1.2.2 RDD 的属性1.3 RDD 弹性1.4 RDD 特点1.4.1 分区1.4.2 只读1.4.3 依赖1.4.4 缓存1.4.5 CheckPoint第2章 RDD 编程2.1 RDD 编程模型2.2 RDD 创建2.2.1 由一个已经存在的 Scala 集合创建,即集合并行化(测试用)2.2.2 由外部存储系统的数据集创建(开发用)2.3 RDD 编程2.3.1 Transformatio

.NET 获取Get方式URL中的参数键值

在Web开发中,我们常常会涉及到需要获取Get方式URL中的参数键值的情况,这里简单介绍三种方法: 第一种:常用的做法有使用JavaScript获取location.href后用正则表达式匹配获取此URL的所有键值对: 第二种:这里比如有个Key参数键,需要获取它对应的值:这时可以使用.NET里的Request.Form["Key"](针对Post)或Request.QueryString["Key"](针对Get),也可以用Request["Key&qu

MyBatis 插入时返回刚插入记录的主键值

MyBatis 插入时返回刚插入记录的主键值 一.要求: 1.数据库表中的主键是自增长的,如:id: 2.获取刚刚插入的记录的id值: 二.源代码: 1.User.java 1 package cn.com.zfc.model; 2 3 public class User { 4 5 private Integer id; 6 private String name; 7 private String password; 8 9 public Integer getId() { 10 retur

js序列化封装成一个对象,以键值对的方式

类似:Object   {ni: "1", wo: "2", ta: "3", huge: "4", jindong: "5"-} jquery的serialize()方法,得到等值的方式 类似:"ni=1&wo=2&ta=3&huge=4&jindong=5&liukaiwei=6" jquery的serializeArray()方法,得到一个对

将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式。

http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式. /// <reference name="jquery.js" description="1.3.2版本以上" /> /*!* 扩展jQuery表单序列化函数:{ Version: 1.2, Author: Eric