我有变量和onclick函数设置,但我无法弄清楚如何将此对象转换为数组中的数组。我正试图改变这个
{"Wins":30,"Losses:"32}
进入这个:
[["Wins:",30]["Losses:",32]]
所以我可以将它附加到data.addRows:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Total: ');
data.addRows([
['String', number],
['String', number],
]);
答案 0 :(得分:1)
我建议你使用以下方法:
var obj = {"Wins": 30, "Losses": 32};
console.log(Object.keys(obj).map(v => [v + ':', obj[v]]));
答案 1 :(得分:1)
在某些浏览器的最新版本中,您可以使用新的Object.entries
执行此操作:
(感谢georg在上述评论中首先提到这一点。)
var data = {
"Wins": 30,
"Losses": 32
}
console.log(
Object.entries(data) //=> [ ['Wins', 30], ['Losses', 32] ]
)
但是,您也可以使用支持率更高的Object.keys
和Array#map
来创建自己的entries
函数:
var data = {
"Wins": 30,
"Losses": 32
}
function entries (object) {
return Object.keys(data).map(function (k) { return [k, this[k]] }, data)
}
console.log(
entries(data) //=> [ ['Wins', 30], ['Losses', 32] ]
)
答案 2 :(得分:0)
Object.entries()
很棒,但没有IE支持。由于您使用的是jQuery,因此可以选择jQuery.map
。
var myObj = {"Wins": 30,"Losses": 32};
var array = $.map(myObj, function(value, index) {
return [[index, value]];
});
console.log(array);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 3 :(得分:0)
纯javascript
var myObject={"Wins":30,"Losses":32};
var resultArray=[];
for(var key in myObject) {
if(myObject.hasOwnProperty(key)) {
resultArray.push([key,myObject[key]])
}
}
console.log(resultArray)
结果[[“胜利”,30],[“损失”,32]]
答案 4 :(得分:0)
以下代码将每个对存储在一个数组中:
var obj = { 'Wins': 30, 'Losses': 32 };
var keyvalues = [];
for (var prop in obj) {
keyvalues.push([prop, obj[prop]]);
}