我有一个对象数组,如下所示:
Object {0: "Ma. Jessa Martinez", 1: "Edwin Cuevas", 2: "Gerum Generol", 3: "Roy delos Reyes", 4: "Hannah Montecillo", 5: "Ralph Turla", 6: "Edralyn Danabar", 7: "Angelo Sto Domingo", 8: "Rhina Dela Cruz", 9: "Ricardo Camara", 10: "Joene Floresca"}
我想转换成数组:
[[0,"Ma. Jessa Martinez"],[1,"Edwin Cuevas"],[2,"Gerum Generol"], and so on]
我尝试使用
var myobj_array= $.map(ticks, function(value, index) {
return [value];
});
但它只返回没有键的值:
["Ma. Jessa Martinez", "Edwin Cuevas", "Gerum Generol", "Roy delos Reyes", "Hannah Montecillo", "Ralph Turla", "Edralyn Danabar", "Angelo Sto Domingo", "Rhina Dela Cruz", "Ricardo Camara", "Joene Floresca"]
还有其他方法吗?我已经在谷歌搜索了,我找不到类似的东西。
编辑为了清楚我的对象阵列的来源,我添加了这个以供参考。它来自ajax请求,已经排序:
var ticks = {};
$.each(result, function(key,value) {
ticks[key] = value.name;
});
答案 0 :(得分:4)
改为使用:
var myobj_array= $.map(ticks, function(value, index) {
return [[index,value]];
});
console.log(myobj_array);
@PinkTurtle点很重要,因为我们可能会注意性能或使用vanillajs代替jQuery。
但是如果使用对象结构:
{80: "Ma. Jessa Martinez", 12: "Edwin Cuevas"}
我们仅使用索引进行处理(我们检索它就像arr[80]
一样未定义,只有当我们使用arr[0]
才能工作,但用户的索引不是0,是80)
答案 1 :(得分:0)
或者只使用普通的js:
var arr = [];
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
arr.push([i, obj[i]]);
}
}
答案 2 :(得分:0)
您可以创建一个新的Javascript对象并返回如下:
var myobj_array= $.map(ticks, function(value, index) {
Var obj=[[index,value]];
return obj;
});