在javascript中创建数组内的数组

时间:2017-02-15 12:03:14

标签: javascript arrays json

我有以下来自API的回复

[{name : Taj Mahal, lat : 111 , lng : 222},
{name : Agra Fort, lat : 333 , lng : 444},
{name : Red Fort, lat : 555 , lng : 666}]

我希望填充像这样的数组

var coordinates = [[Taj Mahal, 111, 222],
    [Agra Fort, 333, 444],
    [Red Fort, 555, 666]]

3 个答案:

答案 0 :(得分:3)

您可以使用map来实现此目标

var arr = [{ name: 'Taj Mahal', lat: 111, lng: 222 },
            { name: 'Agra Fort', lat: 333, lng: 444 },
            { name: 'Red Fort', lat: 555, lng: 666 }];


var newArr = arr.map(function (item) {
  return [item.name, item.lat, item.lng];
});
console.log(newArr);

答案 1 :(得分:1)

即将推出的ES7,您可以使用Object.values



var data = [{ name: 'Taj Mahal', lat: 111, lng: 222 }, { name: 'Agra Fort', lat: 333, lng: 444 }, { name: 'Red Fort', lat: 555, lng: 666 }];

console.log(data.map(o => Object.values(o)));




ES5



var data = [{ name: 'Taj Mahal', lat: 111, lng: 222 }, { name: 'Agra Fort', lat: 333, lng: 444 }, { name: 'Red Fort', lat: 555, lng: 666 }];

console.log(data.map(function (o) {
    return Object.keys(o).map(function (k) {
        return o[k];
    });
}));




答案 2 :(得分:0)

您只需使用Object.values(obj)

进行映射即可
var coordinates = response.map(x => Object.values(x));