在 JavaScript 中将数组对象转换为数组数组
Convert an object of arrays into an array of arrays in JavaScript
我有一个带有数组的对象,每个数组都有带双引号的数字,我想将其转换为不带双引号的数组数组。
这
> 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"]
}
您可以将
map
与Object.keys
结合使用,如下所示:
var result = Object.keys(yourObject).sort().map(function(key) {
return yourObject[key].map(function(num) {
return +num.replace(/,/g, '');
});
});
请注意,逗号,
您的数字,用于格式化,而不是浮点数。
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。
您可以对键进行排序(以保持字母顺序)并应用替换以将逗号更改为点,将强制转换为数字。
var object = { "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"] },
array= Object.keys(object).sort().map(function(k) {
return object[k].map(function (a) {
return +a.replace(/,/g, '');
});
});
console.log(array);
相关文章:
- 将数组对象传递到struts2中的操作类
- 如何使用jquery返回php-json数组对象
- 从其名称获取javascript数组对象
- 值未与数组对象绑定
- 如何按数组/对象值的倍数过滤对象数组
- 在表中显示数组对象
- 在数组对象中分组
- 将第二个或多个数组推送到数组对象 AngularJS 中
- 重新排列 JavaScript 数组/对象
- 键上的javascript数组对象过滤器
- handontable:在不更改数据数组/对象的情况下隐藏某些列
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 重建有角度的java脚本数组对象
- 对JSON数组对象进行排序
- 连接与数组对象相关的文本:方式和位置
- 哪些浏览器和版本支持将常见的类数组对象直接传递到fn.apply()
- 如何使用Handlebars循环数组对象和模板
- 是否可以引用JS数组/对象中的另一个元素
- Javascript中的名称索引-数组/对象
- 数组长度不等于数组对象