我使用 createTable(20, 40)
createTable(20, 41)
createTable(2, 1)
获取一组数据,如下所示:
getJSON
我的控制台输出如下:
var url = 'http://localhost:5000/api/items';
$.getJSON(url, function(response) {
var response2 = []
console.log(response)
});
我需要将这些值转换成这种格式的数组:
[{"id": 1, "price": 20, "name": "test"}, {"id": 4, "price": 30, "name": "test2"}]
我尝试了以下代码,但结果不同:
[[1, 20, "test"], [4, 30, "test2"]]
非常感谢任何帮助!
答案 0 :(得分:2)
要执行您需要的操作,您可以使用 Object.values
以数组的形式从对象中获取所有属性的值。从那里你可以使用 map()
来构建一个包含它们的新数组:
// AJAX response:
let response = [{"id": 1, "price": 20, "name": "test"}, {"id": 4, "price": 30, "name": "test2"}];
let response2 = response.map(Object.values);
console.log(response2);
答案 1 :(得分:1)
如果您需要使用 array
来完成,这是另一种方式。
演示代码:
var response = [{
"id": 1,
"price": 20,
"name": "test"
}, {
"id": 4,
"price": 30,
"name": "test2"
}]
var outerarray = [];
$.each(response, function(key, val) {
innerarray = []
innerarray.push(val.id, val.price, val.name) //push value
outerarray.push(innerarray)
});
console.log(outerarray)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>