Javascript 循环中的动态变量名
我需要在js中为循环内部创建动态变量名Javascript 循环中的动态变量名,javascript,Javascript,我需要在js中为循环内部创建动态变量名 var counter = 0; for(i=0; i<location.length; i++) { ... var "marker_" + counter = new google.maps.Marker({ 使用数组: var marker = []; for (i=0; i < location.length; i++) { marker[counter] = new google.maps.Marker({ v
var counter = 0;
for(i=0; i<location.length; i++) {
...
var "marker_" + counter = new google.maps.Marker({
使用数组:
var marker = [];
for (i=0; i < location.length; i++) {
marker[counter] = new google.maps.Marker({
var标记=[];
对于(i=0;i
在这里,“使用数组”无疑是正确的答案,但是如果你真的想要动态变量,你需要决定它们的范围-默认值是窗口
,然后你可以这样做:
var counter = 0;
for(i=0; i<location.length; i++) {
...
window["marker_" + counter] = new google.maps.Marker({
还是点符号
window["marker_0"]...
window.marker_0
由于此问题被用作重复目标: 如果要访问的信息是数字键控的,这是一个很好的建议。如果不是,则有两个选项:
地图
(ES2015+)var theData=Object.assign(Object.create(null)){
x:“ecks”,
y:“为什么?”
});
var key=Math.random()<0.5?“x”:“y”;
log(“key=“+key+”,the data[key]=“+the data[key]);
您需要使用eval()但是,按照数组解决方案,IMO。我不认为在这样的循环中创建动态变量有什么意义,因为上下文只在当前迭代的范围内。如果您希望在循环外重用,则需要使用数组。这与PHP无关。我甚至不知道如何使用数组is必须处理jQuery,但我会让JS专业人员来处理。我删除了[jQuery]标记-这与jQuery无关。
window.marker_0