使用另一个变量作为内容数组名称的占位符,将数组内容推入空数组
Push array content into empty array using another variable as a placeholder for the content array name
编辑:@Andreas得到了解决方案。谢谢大家的回复!你们太棒了!
我试图列表和数组,但我得到各种奇怪的错误。venueValue = garden和personRange = a所以locationArray = garden a,但是当我在每个函数中使用它时,它不起作用。如果我在每个函数中使用gardena而不是location数组,它会工作得很好。
gardena = ["Private Villa - Gozo", "Palazzo Parisio", "Ta' Frenc - Gozo", "Mridiana Wine Estate"];
locationArray = new Array();
locationArray = venueValue+personRange;
$.each(locationArray, function(index, value) {
alert(value);
});
我敢说解决办法是显而易见的,但我完全迷路了。
提前感谢。
要向数组中添加元素,应该使用push()方法。如你所做的,它将locationArray设置为字符串或数字。
我还建议像这样定义数组var array = [];
我想你是想说venueValue
是字符串"花园"和personRange
是字符串"a",这样venueValue+personRange
是字符串"gardena",你想通过数组gardena
的值进行迭代。
如果这是正确的,那么我的建议是:首先,将数组放在对象中,而不是使其成为全局数组。
var mystuff = {
gardena : ["Private Villa - Gozo", "Palazzo Parisio", "Ta' Frenc - Gozo", "Mridiana Wine Estate"],
};
然后你可以从对象中得到数组:
var locationArray = mystuff[ venueValue+personRange ];
$.each(locationArray, function(index, value) {
alert(value);
});
当你使用+号来连接数组时,它会将venueValue的最后一个元素连接到personRange。
假设a数组是a=[1,2,3] b数组是b=[6,7,8]如果我尝试c=a+b它会得到结果[1,2,36,7,8]这是不理想的所以两个数组的合并可以通过连接
来完成例:c = a.concat (b),
它会给出结果[1,2,3,6,7,8]
如果你想要[16,27,38]这样的结果,你可以使用这个函数
function ab(a,b)
{var c=[];
for(var i=0;i<a.length;i++)
{c[i]=a[i]+''+b[i];}
return (c);
}
var a=[1,5,6];
var b=[9,0,8];
console.log(ab(a,b));
和
var a='ab';
var k='b';
var abb=[1,2,3,4];
var c=eval(a+k);
console.log(c);
在这种情况下,我们添加字符串并对它们求值
希望对大家有所帮助
试试这个
像下面的代码片段一样推送你的值。因此,您可以使用$.each()
方法迭代您的值。
var locationArray = [],venueValue = 'garden ',personRange = 'a';
locationArray.push(venueValue,personRange); //Push your values here in an array
$.each(locationArray, function(index, value) {
alert(value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
更新:
我想我明白你的意思了。像这样使用eval
函数。它将捕获gardena
变量的值。然后你可以使用它进行迭代。
var locationArray = [],venueValue = 'garden',personRange = 'a',
gardena = ["Private Villa - Gozo", "Palazzo Parisio", "Ta' Frenc - Gozo", "Mridiana Wine Estate"];
locationArray = venueValue+personRange;
$.each(eval(locationArray), function(index, value) {
alert(value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
DEMO in FIDDLE
- 如何在映射数组中添加换行符
- lodash_.to带有占位符的数组
- 在javascript数组元素之间添加换行符
- Jquery 数组通配符
- 在 HTML 中将数组的每个项目显示为换行符
- 我可以在 es6 数组解构中将什么用作占位符
- 对数组进行排序并返回一个指示符数组,该数组指示已排序的元素相对于原始元素(new)的位置
- 使用通配符在JS中搜索数组
- 在数组/函数中循环时使用换行符
- 在数组javascript中的特定字符串后插入分页符
- jQuery递归通配符选择器从数组和数组推送动态
- 如何用通配符解构js数组并传递eslint
- 通过通配符字符串快速搜索数组
- 将DOM元素数组移动到页面中的占位符
- Javascript -用换行符(不是逗号)分隔数组值
- 使用另一个变量作为内容数组名称的占位符,将数组内容推入空数组
- 带换行符的字符串输入到数组
- 用占位符创建数组
- 将一个占位符的经度和纬度存储到数组中
- Javascript在每个输出数组值的末尾附加一个换行符