JS怎么push进这种格式的数据?

这几天问了几个类似问题,思考很久还没想出来,所以又来问啦!
这样push

var data3 = [];
for (var i = 0; i < data.length; i++) {
var data = data[i];
var name = data.name,
    latitude = data.latitude,
    longitude = data.longitude;

data3.push({
  [name]:[latitude, longitude]
})

}
console.log(data3)

打印出来:
图片描述

我想要的格式是:
图片描述

阅读 4.4k
3 个回答
var data3 = {};
for (var i = 0; i < data.length; i++) {
var data = data[i];
var name = data.name,
    latitude = data.latitude,
    longitude = data.longitude;

data3[name]=[latitude, longitude];

}
console.log(data3)

因为你还没有给出要输入的数据格式,所以大概应该是这样,你看看是不是你想要的
var data3 = {}
data.forEach(function(item){

if(!data3[item.name]) {
    data3[item.name] = []
}
data3[item.name].push(item.latitude)
data3[item.name].push(item. longitude)

})

新手上路,请多包涵
var data = [{"name":"上海","latitude":31,"longitude":42},{"name":"北京","latitude":33,"longitude":45}];
var data3 = {};
var data4 = [];
for (var i = 0; i < data.length; i++) {
var dt = data[i];
var name = dt.name;
    data4[0] = dt.latitude,
    data4[1] = dt.longitude;


data3["\""+name+"\""]= data4;
}

console.log(data3);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题