如何“生成”独特的变量? [英] How to "generate" unique variables?

查看:66
本文介绍了如何“生成”独特的变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在研究Google地图,现在我想从API中生成引脚。但后来我陷入了困境,因为一个销钉看起来像这样:

I'm currently working on a Google Map, and now I want to "generate" pins from an API. But then I get stuck, because a pin looks like this:

var imageDriver = 'marker.png';
var DriverLatLng = new google.maps.LatLng(location.lat, location.lng);
var driverMarker = new google.maps.Marker({
    position: DriverLatLng,
    map: map,
    icon: imageDriver,
    title: drivers[0].name
});
}

我想创建一个可以生成这些变量的函数带有前缀。检查下面的例子:

I want to create a function of some sort that could "generate" these variables with a prefix. Check an example below:

var imageDriver0;
var DriverLatLng0;
var driverMarker0;
position: DriverLatLng0,
map: map,
icon: imageDriver0,
title: drivers[o].name

这些变量当然必须是唯一的,所以它们不会碰撞。我有这个for-loop计数我的API中的所有驱动程序。我可以以某种方式使这个for-loop创建这些引脚?
示例:

These variables must be unique of course so they don't "collide". I have this for-loop that counts all "drivers" inside my API. Could I somehow make this for-loop to create these pins? Example:

    driversRealtime();
function driversRealtime() {
    setInterval(function () {
        var url = "http://blackcab.didair.se/api/drivers";
        var lat;
        var lon;
        var name;
        var id;
        $.getJSON(url,

        function (response) {
            for (var i = 0; i < response.drivers.length; i++) //Counts data-elemements inside 
                lat = response.drivers[i].currentLat;
                lon = response.drivers[i].currentLon;
                name = response.drivers[i].name;
                id = response.drivers[i].profileId;
            console.log(lat);
            console.log(lon);
            console.log(name);
            console.log(id);
        });
    }, 3000); //Delay in milliseconds
}


推荐答案

动态创建变量名,但几乎总是毫无意义。

It's possible to create variable names dynamically, but almost always pointless.

使用数组或者后缀,并将值作为属性放入数组中的对象。例子:

Use an array instead or a suffix, and put the values as properties in an object in the array. Example:

var points = [];

var point = {
  "url": url,
  "lat": lat,
  "lng": lng,
  "name": name,
  "id": id
};
points.push(point);

这篇关于如何“生成”独特的变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆