连接Javascript函数的参数名
我有一些正在使用循环优化的工作代码,但是在连接参数名时遇到了问题连接Javascript函数的参数名,javascript,concatenation,Javascript,Concatenation,我有一些正在使用循环优化的工作代码,但是在连接参数名时遇到了问题 var objlocations={}; $.get('https://example.com/something/ajax-state?somevar='+somevar,函数(数据){ $.each(数据、函数(索引、数据库行){ objlocations['point1x']=DBRow.Point01X; objlocations['point1y']=DBRow.Point01Y; objlocations['poin
var objlocations={};
$.get('https://example.com/something/ajax-state?somevar='+somevar,函数(数据){
$.each(数据、函数(索引、数据库行){
objlocations['point1x']=DBRow.Point01X;
objlocations['point1y']=DBRow.Point01Y;
objlocations['point2x']=DBRow.Point02X;
objlocations['point2y']=DBRow.Point02Y;
objlocations['point3x']=DBRow.Point03X;
objlocations['point3y']=DBRow.Point03Y;
objlocations['point4x']=DBRow.Point04X;
objlocations['point4y']=DBRow.Point04Y;
//还需要大约30个这样的系统
var$grid=jQuery('#MyDiv');
$grid.empty();
对于(var i=1;i移动注释以回答更多解释
javascript中的对象可以像命名数组项一样进行访问
DBRow.Point01X与DBRow['Point01X']相同
您可以在准备好名称的地方创建一个循环,然后将其插入到数组中
例:
i=(i<10)?(“0”+i):i;//用于前导零
变量点='点'+i+'X';
对象位置['point'+i+'x']=DBRow[point];
for(var i=1;i您是否尝试过使用DBRow.Point01X;例如DBRow[“Point0”+i+“X”]?不,我没有尝试过。只是尝试了一下,它似乎起作用了!谢谢。我有没有办法在for循环中为10以下的任何内容添加前导0?再次感谢。我最终找到了一个对我有效的前导0的解决方案。我使用了您的DBRow[“Point0”+I+“X”]直接在我的循环中,在我的例子中完全不需要对象/数组。我将编辑我的原始帖子以显示最终的解决方案。
i = (i < 10) ? ("0" + i) : i; // for leading zeros
var point = 'Point' + i + 'X';
objlocations['point'+i+'x'] = DBRow[point];
for(var i=1;i<=4;i++) {
var xProperty = "Point0" + i + 'X';
var yProperty = "Point0" + i + 'Y';
var x = DBRow[xProperty];
var y = DBRow[yProperty];
var $PointLocation = jQuery('<img class="PointLocation" id="Grid-Point-' + i + '"' + 'src="../img/points/point.png" width="50px">').css({top:y + 'px', left:x + 'px'});
$grid.append($PointLocation);
}