gpt4 book ai didi

javascript - 将数组插入对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:27 24 4
gpt4 key购买 nike

我有三个相同大小的数组,lat[]、lon[]、title[]。我需要以这种格式创建一个对象

locations = [
{
lat: 45.4654,
lon: 9.1866,
title: 'Milan, Italy'
},
{
lat: 47.36854,
lon: 8.53910,
title: 'Zurich, Switzerland'
},
{
lat: 48.892,
lon: 2.359,
title: 'Paris, France'
}
];

到目前为止我已经做到了

  var locations = {};
var lat = [1, 2, 3];
var lon = [4, 5, 6];
var title = ['title 1', 'title 2', 'title 3'];
var numLocation = $lat.length;

for (var j=0; j < numLocation; j++) {

locations[j] = {};
locations[j].lat = lat[j];
locations[j].lon = lon[j];
locations[j].title = title[j];
}

但是我得到了这样一个对象 Object { 0={...}, 1={...}, 2={...}, more...}当我需要一个像 [Object { lat=45.4654, lon=9.1866, title="Milan, Italy", more...}, Object { lat=47.36854, lon=8.5391, title="Zurich, Switzerland", 更多...}, 对象 { lat=48.892, lon=2.359, title="法国巴黎", 更多...}, 对象 { lat=48.13654, lon=11.57706, title="德国慕尼黑", 更多...}]

抱歉,如果我不使用技术术语,但我对 javascript 的了解并不多,我只是在日复一日地学习它。我希望有人能提供帮助。

最佳答案

假设您所有的 lat[]lon[]title[] 数组都具有相同的大小,您可以尝试定义locations 变量作为从 0 开始的整数索引数组 ([]),而不是 javascript 对象 ({}):

var locations = [];
for (var i = 0; i < lat.length; i++) {
locations.push({
lat: lat[i],
lon: lon[i],
title: title[i]
});
}

当然,你应该检查你所有的 3 个数组是否具有相同的大小,只是为了确定,你知道:

var length = lat.length;
if (lon.length !== length || title.length !== length) {
alert('Sorry, but the operation you are trying to achieve is not well defined');
}

关于javascript - 将数组插入对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34843065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com