javascript - 在 JavaScript 中将数组对象转换为数组数组

标签 javascript arrays json

我有一个带有数组的对象,每个对象都有带双引号的数字,我想将其转换为不带双引号的数组的数组。

这个

> Object { CategoryA: Array[182], CategoryB: Array[180],
> CategoryC: Array[182], CategoryD: Array[171],
> CategoryE: Array[182], CategoryF: Array[183] }

Array [ Array[182], Array[182], Array[182], Array[182], Array[182], Array[182] ]

我尝试了 .replace(/"/g, ""); 但我发现替换不是一个函数。

JSON.stringify 和 JSON.parse 没有帮助我和 for 循环

for (var i = 0; i < data.length; i++) {
    data2[i] = data[i].replace(/"/g, "");
}
console.log(data2);

返回双引号。

更新

这就是我的 json 的样子

{"CategoryA": ["297,239", "277,227", "279,310", "297,766"],
 "CategoryB": ["15,479,207", "14,845,266", "15,454,549"],
 "CategoryC": ["285,648", "295,982", "300,306", "302,508"]
} 

最佳答案

您可以将 mapObject.keys 结合使用,如下所示:

var result = Object.keys(yourObject).sort().map(function(key) {
    return yourObject[key].map(function(num) {
        return +num.replace(/,/g, '');
    });
});

请注意,数字中的逗号 , 用于格式化,而不是 float 。

var yourObject = {"CategoryA": ["297,239", "277,227", "279,310", "297,766"],
 "CategoryB": ["15,479,207", "14,845,266", "15,454,549"],
 "CategoryC": ["285,648", "295,982", "300,306", "302,508"]
} ;

var result = Object.keys(yourObject).sort().map(function(key) {
    return yourObject[key].map(function(num) {
      return +num.replace(/,/g, '');
    });
});

console.log(result);

谢谢@Rayon。

关于javascript - 在 JavaScript 中将数组对象转换为数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38422862/

相关文章:

php - 用PHP多个数组解析JSON到MYSQL表

javascript - Jquery 返回 json 作为字符串

javascript - 提交正确答案的按钮?

javascript - 如何设置表单发布操作对 iframe 源的响应?

javascript - OL3 在手机或平板电脑上徒手绘制多边形或线串

c - 通过比较两个 char 数组返回整数

ios - 将 json 数据存储在 TableView 中的交替单元格中

javascript - 在 Worklight 中调用适配器外部的函数

c++ - 确定平方根是否为整数

JavaScript 数组 : get "range" of items