我正在尝试使用 for 循环来创建它。
slideArr.slide1 = 1;
slideArr.slide2 = 2;
slideArr.slide3 = 3;
所以我得到了我的全部幻灯片,像这样循环播放它们
for ( index = 0; index < totalSlides.length; ++index )
{
slideArr.slide = index;
}
但我希望“slide”案例中的名称值对名称也增加。
for ( index = 0; index < totalSlides.length; ++index )
{
slideArr.slide1 = 1;
}
在第二个循环
for ( index = 0; index < totalSlides.length; ++index )
{
slideArr.slide2 = 2;
}
..等等..
这可能吗?
我基本上是在创建一个名称值对列表。
最佳答案
I would highly advise against solutions recommending
slideArr["slide"+index]
. This is a Code Smell and in this case it suggests you're doing something wrong. Posting your full code would help others give you better, more precise answers.
首先,slideArr
对我来说意味着您正在使用 Array
数据类型,但在调用时您将其视为对象
slideArr.slide1 = 1;
如果它实际上是一个数组,这将是非常糟糕的
// Don't use arrays like this !
var slideArr = [];
slideArr.slide1 = 1;
相反,如果您有一个包含幻灯片数组的对象,那可能会好一点
// 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
调用。循环保持不变,您将获得相同的输出。
关于javascript - 名称值对列表,无法增加名称宽度数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28029098/