首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在javascript中删除json数组中的双引号

如何在javascript中删除json数组中的双引号
EN

Stack Overflow用户
提问于 2018-06-26 00:57:41
回答 3查看 1.4K关注 0票数 -3

我有一个数组:

Var array=[{"name":"May","data1":"1121.0"}]

我想将其更改为:

Var array= [{"name":"May","data1":1121.0}]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-26 01:30:22

您可以简单地使用Number.isNaN进行检查,并尝试使用+操作符转换为一个数字。如果返回true,则什么也不做。如果为false,则将该参数的值更改为强制转换编号。

var array=[{"name":"May","data1":"1121.0"}];
array.forEach(data => {
 for(let key in data) Number.isNaN(+data[key]) || (data[key] = +data[key])
});

console.log(array);

票数 0
EN

Stack Overflow用户

发布于 2018-06-26 01:02:58

看起来这个问题在here之前就已经回答过了

我会总结一下;

for(var i = 0; i < objects.length; i++){
    var obj = objects[i];
    for(var prop in obj){
        if(obj.hasOwnProperty(prop) && obj[prop] !== null && !isNaN(obj[prop])){
            obj[prop] = +obj[prop];   
        }
    }
}

console.log(JSON.stringify(objects, null, 2));

这确实存在一个错误,即0变为空。

票数 0
EN

Stack Overflow用户

发布于 2018-06-26 01:08:21

您希望将映射到"data1"键的值转换为number而不是string

在JavaScript中有很多方法可以做到这一点,但最好的方法是像这样使用Number.parseFloat

var array = [{"name":"May","data1":"1121.0"}];
array[0]["data1"] = Number.parseFloat(array[0]["data1"]);

console.log(array[0]["data1"]); // 1121

如果您需要在array中使用多个对象执行此操作,您可以这样做

var array = [{"name":"May","data1":"1121.0"}, {"name":"May","data1":"1532.0"}, etc.] // Note that this is not valid JavaScript
array.map(obj => {obj["data1"] = Number.parseFloat(obj["data1"]); return obj;});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51028458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档