问题描述
我需要反转所选幻灯片的顺序(如果有选择),否则反转所有幻灯片。
here is the code script editor file
之前:S1,S2,S3,S4
预期结果:S1,S4,S3,S2
如果未选择幻灯片
之前:S1,S2,S3,S4
预期结果:S4,S3,S2,S1
之前:S1,S2,S3,S4
预期结果:S4,S2,S3,S1
我尝试过
selectedArrayIndex = selectedArrayIndex.reverse();
for (var k = selectedArrayIndex.length - 1; k >= 0; k--) {
allSlides[k].move(selectedArrayIndex[k] + 1);
}
解决方法
答案
根据documentation所说, 索引应介于零和演示文稿中的幻灯片数量之间(包括两端)。
移动幻灯片后,整个演示文稿幻灯片都会更改索引,因此,实现目标的最佳方法是先更改最后一张幻灯片,而不要向后更改,因为这样做可以使演示文稿幻灯片的索引保持有序。 / p>
假设您有这种情况,您想更改S1,S2和S4:
redAccent
将第一张幻灯片移动到最后一个位置实际上会得到:
S1 -> index 1
S2 -> index 2
S3 -> index 3
S4 -> index 4
将最后一张幻灯片移动到第一个位置,您会得到:
First step Second step Third step
S2 -> index 1 | S3 -> index 1 | S3 -> index 1
S3 -> index 2 | S2 -> index 2 | S4 -> index 2
S4 -> index 3 | S4 -> index 3 | S2 -> index 3
S1 -> index 4 | S1 -> index 4 | S1 -> index 4
代码
为了获得预期的行为,您应该在代码的最后一个循环中使用此代码。
First step Second step Third step
S4 -> index 1 | S4 -> index 1 | S4 -> index 1
S1 -> index 2 | S2 -> index 2 | S2 -> index 2
S2 -> index 3 | S1 -> index 3 | S3 -> index 3
S3 -> index 4 | S3 -> index 4 | S1 -> index 4