我试图使用for循环创建它。
slideArr.slide1 = 1;
slideArr.slide2 = 2;
slideArr.slide3 = 3;
所以我得到了我的总幻灯片,像这样循环遍历
for ( index = 0; index < totalSlides.length; ++index )
{
slideArr.slide = index;
}
但我希望案例中的名称值对名称&#34; slide&#34;也是增量。
for ( index = 0; index < totalSlides.length; ++index )
{
slideArr.slide1 = 1;
}
并在第二个循环
for ( index = 0; index < totalSlides.length; ++index )
{
slideArr.slide2 = 2;
}
...等。
这可能吗?
我基本上创建了一个名值对列表。
答案 0 :(得分:1)
你可以这样做:
slideArr["slide" + index] = index;
但我想补充说这看起来很奇怪。你确定这是你想要的吗?
怎么样:
slideArray.slides.push(totalSlides[i]);
答案 1 :(得分:1)
试试这个
for ( index = 0; index < totalSlides.length; ++index )
{
slideArr["slide" + index] = index;
}
答案 2 :(得分:1)
我强烈建议反对推荐
slideArr["slide"+index]
的解决方案。这是一个Code Smell,在这种情况下,它表明你做错了什么。发布完整的代码可以帮助其他人为您提供更好,更准确的答案。
首先,对我而言,slideArr
意味着您正在使用Array
数据类型,但是当您致电
slideArr.slide1 = 1;
如果它实际上是一个数组,这将是非常糟糕的
// Don't use arrays like this !
var slideArr = [];
slideArr.slide1 = 1;
相反,如果你有一个包含幻灯片数组的 Object ,那可能会更好一点
// Use an object with an array !
var myData = {slides: []};
// Add some slides
myData.slides.push(1);
myData.slides.push(2);
myData.slides.push(3);
现在,myData
console.log(myData.slides);
// => [1, 2, 3]
你可以很容易地完成这个过程
for (var i=0; i<myData.slides.length; i++) {
console.log(myData.slides[i]);
}
输出
1
2
3
如果您事先了解幻灯片,则可以一次性定义myData
var myData = {slides: [1, 2, 3]};
您可以跳过上面的.push
来电。循环保持不变,您将获得相同的输出。