关于对象数组

时间:2018-02-23 17:27:36

标签: javascript arrays json object

我制作了一个应用程序,它采用地图坐标并在地图上显示它们。我从具有Json扩展名的文件中获取坐标(在lng和lat中)。我将相关的键值分配给行中的行(称为标记)。但问题是这样的:我想在for循环的帮助下这样做,我想把相关的密钥放在索引中。因此,当我打开程序时,我不想根据.json扩展文件中的信息数手动分配标记的项目。我想从.json文件中读取信息,并将值分配给markers'目录中的键(通过循环)。你能帮我解决这个问题吗?

<script type="text/javascript" src="data.json"></script>
<script type="text/javascript">
var mydata = JSON.parse(data);
    var markers = [
        {
            "title": mydata[0].yer,
            "lat": mydata[0].lat,
            "lng": mydata[0].lng,

        }
    ,
        {
            "title": mydata[1].yer,
            "lat": mydata[1].lat,
            "lng": mydata[1].lng,

        }
    ,
        {
            "title": mydata[2].yer,
            "lat": mydata[2].lat,
            "lng": mydata[2].lng,
        }];

我的json文件:

    data = '[{"yer" : "Besiktas", "lat" : "41.044161", "lng" : "29.001056"},{"yer" : "Eminönü", "lat" : "41.017513", "lng" : "28.970939"},{"yer" : "Zeytinburnu", "lat" : "40.990828", "lng" : "28.895325"}, {"yer" : "Aydın Üniv.", "lat" : "40.995836", "lng" : "28.797562"}]';

1 个答案:

答案 0 :(得分:2)

var markers = mydata.map(function(location) {
  return {
    title: location.yer,
    lat: location.lat,
    lng: location.lng
  };
});

map是实现您在此尝试的有用方法。以上应该有效,并给出了预期的结果。