使用JavaScript的动态变量名称 - 两个数组?

时间:2013-05-23 23:05:04

标签: javascript arrays variables

我正在尝试为$ .each循环中的每个用户生成标记,以便我可以使用给定用户的相应userId选择每个标记。

$.each($.parseJSON(window.usersArray), function (i, user) {
    window.userMarkers[user['id']] = L.marker(98.76, 12.34).addTo(map);
    console.log(window.userMarkers[user['id']]);
});

修改

我收到错误: Cannot set property '3' of undefined,其中3是用户的ID。

2 个答案:

答案 0 :(得分:2)

您需要先创建对象(或数组,具体取决于您的需要),然后才能向其中添加任何内容。

window.userMarkers = {};

$.each($.parseJSON(window.usersArray), function (i, user) {
    window.userMarkers[user['id']] = L.marker(98.76, 12.34).addTo(map);
    console.log(window.userMarkers[user['id']]);
});

答案 1 :(得分:1)

解决方案:在为其设置属性之前定义数组!例如:

window.userMarkers = new Array();