为了账号安全,请及时绑定邮箱和手机立即绑定

JS 处理Json对象

JS 处理Json对象

泛舟湖上清波郎朗 2019-02-26 17:20:20
有道JS题,如下:要求:Num的值在区间0~6之间,在json对象上加上键值对 'a':0;Num的值在区间6~12之间,在json对象上加上键值对 'a':1;Num的值在区间12~18之间,在json对象上加上键值对 'a':2;Num的值在区间18~24之间,在json对象上加上键值对 'a':3;结果这样:因为最近大量做JS的数据处理,看了一些JS题,上网请教下其他朋友的思路和方法。谢谢
查看完整描述

2 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

这是,我个人觉得还是先对JSON进行遍历,针对不同的Num值,得到不同的a值,然后用字符串吧这些加起来,然后在调用JSON.parse()函数进行字符串到json的转换。我简单的写了个小函数,你可以参考下!!


    function jsonAdd(json) {

        var nArr=[];

        var ss='[';

        json.map((x)=>{

            var num=parseInt(x.Num);

            ss+='{"Num":'+num+","+'"a:":';

            if(num>0&&num<=6){

                ss+='0},';

            }else if(num>6&&num<=12){

                ss+='1},';

            }else if(num>12&&num<=18){

                ss+='2},';

            }else if(num>18&&num<=24){

                ss+='3},';

            }

        })

        ss = ss.substring(0, ss.length - 1);  

        ss+="]";

        return JSON.parse(ss);

    }

调用函数,传入原始数据,返回一个修改后的数据.


查看完整回答
反对 回复 2019-03-06
?
慕的地10843

TA贡献1785条经验 获得超8个赞

别人说Map一下没说错啊,另外json的属性名是双引号。拿走不谢


var obj = json.map(function (t) {

    var val = +t['Num'];

    t['"a"'] = Math.floor(val/6).toString();

    return t;

});


查看完整回答
反对 回复 2019-03-06
  • 2 回答
  • 0 关注
  • 657 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信