jQuery 将对象数组转换为带键的数组

jQuery Convert Object Array to Array with keys

我有一个对象数组,如下所示:

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];
 });

但它只有 return 没有键的值:

["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"]

还有别的办法吗?我已经在 google 中搜索过,我找不到类似的东西。

EDIT 为了清楚我的对象数组的来源,我添加了这个以供参考。它来自 ajax 请求并且已经排序:

var ticks = {};
$.each(result, function(key,value) {
    ticks[key] = value.name;
});

改用:

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).

或者只使用普通的js:

var arr = [];
for (var i in obj) {
    if (obj.hasOwnProperty(i)) {
       arr.push([i, obj[i]]);
    }
}

您可以创建一个新的 Javascript 对象和 return,如下所示:

 var myobj_array= $.map(ticks, function(value, index) {
   Var obj=[[index,value]];
  return obj;
 });