【发布时间】:2014-10-29 16:38:58
【问题描述】:
假设您有一个产品页面。在此页面上有两个选择输入,其中包含选项。
尺寸和颜色各有一个。这可能会因产品而异,例如窗帘可能有尺寸、长度和颜色(三个选择菜单)。
数组是动态创建的(基于每个选择菜单及其选项):
var dynamicArr = [],
i,
j,
opt,
$('.select');
for (i = 0; i < select.length; i += 1) {
opt = select.eq(i).find('option');
if (dynamicArr[i] === undefined) {
dynamicArr[i] = [];
}
for (j = 0; j < opt.length; j += 1) {
dynamicArr[i].push(opt.eq(j));
}
}
想象一下页面有一个大小和颜色下拉菜单。上面会创建一个这样的数组:
dynamicArr = [['size'], ['color']]
我想分别循环遍历其中的每一个(以获取单个值并进行比较)。
我的问题从这里开始。动态数组的长度可能为 1、2、3、4、5、6(取决于页面上的选择选项)。因此我不能这样做,因为不会总是有两个选择
for (i = 0; i < dynamicArr[0].length; i += 1) {
}
for (i = 0; i < dynamicArr[1].length; i += 1) {
}
我将如何像上面一样找出长度并单独循环,例如如果有三个选择,它会自动知道有这么多,并像上面一样循环它们。
如果您仍然感到困惑,请告诉我。
谢谢。
【问题讨论】:
标签: javascript jquery arrays for-loop