如何从javascript对象创建数组数组?

时间:2015-08-31 00:49:39

标签: javascript jquery arrays

我有一个这样的对象:

{"Peppermint":"50","Chocolate":"50"}

我想把它变成这个:

[['Peppermint', '50']['Chocolate', '50']]

使用jquery map函数如下:

var array = $.map(data, function(value, index) {
                  return [value];
              });

没有钥匙就给我这个:

["50", "50"]

2 个答案:

答案 0 :(得分:1)

您必须返回内部数组中的两个值,并且必须嵌入另一个数组中。您需要这个额外级别的数组,因为来自jQuery doc for $.map

  

返回的数组将被展平为生成的数组。

所以,你需要像这个工作片段的代码:

var data = {"Peppermint":"50","Chocolate":"50"};

var array = $.map(data, function(prop, key) {
    return [[key, prop]];
});

document.write(JSON.stringify(array));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

答案 1 :(得分:1)

尝试从$.map()返回数组,其中index位于索引0value位于内部数组的索引1

&#13;
&#13;
var data = {"Peppermint":"50","Chocolate":"50"};


var array = $.map(data, function(value, index) {
                 return [[index, value]]
            });

console.log(array)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;