我有这个数组
var Obj =
[{
"id": 1,
"name": "John",
"score": 4300,
"active": 1,
}];
我想将其转换为此
var dataSet = [
['1','John','4300','1']
];
我已经尝试了很多简单的jquery但没有运气,如果你觉得它很简单,那么我就是JS的新东西
答案 0 :(得分:1)
没有涉及jQuery。 jQuery用于处理文档对象。
这是一个解决方案,它按给定的示例顺序排列项目,并将所有值转换为字符串:
function convert(objectList) {
return objectList.map(function(x) {
return [""+x.id, ""+x.name, ""+x.score, ""+x.active];
});
}
var Obj = [
{
"id": 1,
"name": "John",
"score": 4300,
"active": 1,
}
];
console.log( convert(Obj) );
答案 1 :(得分:1)
如果您正在查找值而不考虑键,则可以使用for in语法:
var dataSet = Obj.map(function(x) {
var result = [];
for (key in x) {
result.push((x[key]||"").toString());
}
return result;
});
看起来array.map
在IE8及更低版本中不起作用,因此如果您需要旧的浏览器兼容性,jQuery.map是一个类似的选择。
答案 2 :(得分:0)
假设您有一个对象数组,以下代码应该给出您想要的结果。
var JsonObj =
[{
"id": 1,
"name": "John",
"score": 4300,
"active": 1,
}];
var dataSet = [];
for(var i=0; i<JsonObj.length; i++){
var innerDataSet = []
for(prop in JsonObj[i]){
innerDataSet.push(""+JsonObj[i][prop]);
}
dataSet.push(innerDataSet);
}
如果您尝试转换为JSON或返回,请查看JSON.stringify(text)和JSON.parse(text)