从数组中选取特定元素
Pick specific elements from array
我有一个包含 17 张图像的数组。我想从阵列中挑选每个图像并将其放在舞台上,但应该有一种特定的方式来做到这一点。在我选择了第一张图片后,我需要第 1 张图片,所以这应该看起来像这样:
var myarray = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; // these are the indexes for the 17 images
挑选元素的顺序如下所示:[0,9,1,10,2,11,3,12,4,13,5,14,6,15,7,16,8];
我需要在补间中使用它们,这是我正在执行此操作的功能,但我没有上面提到的 oder。
var pick_images = function(lights_arr,iterator,f)
{
if(iterator < lights_arr.length)
{
iterator = iterator +1;
}
createjs.Tween.get(lieghts_arr[iterator]).to({alpha:0},200).wait(0).to({alpha:1},200).wait(100).call([f,lights_arr,f]);
pick_images(arr, i,pick_images);
我知道,如果我取 lights_arr.length 并将其除以 2,将其四舍五入,我会得到第二张图像,如 9、10、11 或 12。为此,我需要在每次循环后减去我使用的两个 elemets(图像(。
你知道我怎样才能在我的函数中工作吗?
这个怎么样?
var myarray = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
var select = [];
var step = 9;
var len = myarray.length;
for(var i = 0; i < len * step; i += step)
select.push(myarray[i % len])
console.log(select) // [ 0, 9, 1, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8 ]
只是稍微扩展/优化了 Georg 的代码以使其更具动态性,因为我认为他是一个非常简洁的解决方案:
var len = 17,
myarray = Array.apply(null, {length: len}).map(Number.call, Number),
select = [],
step = Math.round(myarray.length / 2);
for(var i = 0; i < len * step; i += step) {
select.push(myarray[i % len]);
}
console.log(select);
下面是生成填充整数的数组的代码。
var switch = false;
var selectedIndex = 0;
if(i < arr.length)
{
selectedIndex = (switch) ? i : i + 9;
switch = !switch;
}
这样的事情应该可以做到,但可能会做得更整洁。请注意,未经测试且在我的 popo 顶部。
编辑:哦,对于要删除的图像,您可以使用拼接:
var arr = [0,1,2];
arr.splice(1,1); // position and how many to remove
output: arr = [0,2];
拼接 W3C 文档
var myarray = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
var select = [];
var position = 0;
while (position < myarray.length) {
select.push(myarray[position]);
if (select.length % 2) position += 9;
else position -= 8;
}
alert(select);
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 选取随机数组元素,将其移除,并在没有更多可用元素时显示消息
- 将输入 html 元素动态关联到颜色选取器
- 棱角分明如何防止点击事件传播到日期选取器元素
- 从数组中选取特定元素