格式化javascript对象

时间:2015-05-12 17:48:47

标签: javascript jquery json

我有以下对象,如下所示:

{A: 52, B: 33}

我需要将其转换为以下内容:

["A",   52], ["B", 33]

如何做到这一点?

3 个答案:

答案 0 :(得分:7)

这很简单,但可能需要检查hasOwnProperty等:

var result = [];
for (key in obj) {
    result.push([key, obj[key]]);
}

答案 1 :(得分:3)

如果您使用的是jquery,请尝试此操作:

 var obj = {'value1': 'prop1', 'value2': 'prop2', 'value3': 'prop3'};
var array=[];
$.map(obj, function(value, index) {
    array.push([index, value]);
});

alert(JSON.stringify(array));



var obj = {'value1': 'prop1', 'value2': 'prop2', 'value3': 'prop3'};
var array=[];
$.map(obj, function(value, index) {
    array.push([index, value]);
});

alert(JSON.stringify(array));

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

答案 2 :(得分:1)

目前的方法是使用Object.entries -

&#13;
&#13;
const a = {"A": 52, "B": 33}

console.log(Object.entries(a))
// [ [ "A", 52 ], [ "B", 33 ] ]
&#13;
&#13;
&#13;

这是使用Array.prototype.reduce -

的旧方法
var a = {"A": 52, "B": 33};

var b = Object.keys(a).reduce(function(xs, x) {
  return xs.concat([[x, a[x]]]);
}, []);

// => [["A", 52], ["B", 33]]