如何使用输入值作为数组索引

时间:2016-10-03 13:38:53

标签: jquery

我完全没有想法。 我一直在读这个问题,但我找不到任何适合我需要的答案。所以这是场景

我有一些输入,我可以通过id

获取值
<input type="hidden" id="name" value="Taco house" />
<input type="hidden" id="pin" value="Mexican" />

我尝试将值index用于构建数组

var name = $('#name').val();
var pin = $('#pin').val();

markersData = {
    pin: [ //here it should put 'Mexican' instead it puts 'pin'
    {
        name: name,
        location_latitude: 43.5391318, 
        location_longitude: 10.3020171,
        //other nodes here
    }
    ]
};

如果我在传递给数组之前打印pin变量,它会打印出它的实际值,但是一旦我传递给数组,该值就会丢失,索引就会变成pin。

可以肯定这是一个显而易见的问题,但由于我在jquery中不那么好,我需要一些帮助。

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

var name = $('#name').val();
var pin = $('#pin').val();
markersData = {};
markersData[pin] = [{
    name: name,
    location_latitude: 43.5391318,
    location_longitude: 10.3020171,
    //other nodes here
}];

你的方式不起作用,因为解析器将pin视为字符串,而不是“pin”变量的内容。出于同样的原因,你也不能做markersData.pin。

据我所知(我可能错了),唯一的方法是使用方括号,这可能有点令人困惑,因为它看起来像是为数组添加索引。 希望这有帮助