如何从数组编辑变量而不是增量?

时间:2017-03-06 23:26:03

标签: javascript

关注完整代码:http://codepen.io/anon/pen/JWRabY

以下是我遇到问题的部分:

var dataID = 1;
$('svg rect.grid').each(function() {
$(this).attr('data-id', dataID);
dataID++
});

这为从1开始创建的每个'svg rect.grid'(即一个正方形)动态创建一个属性'data-id'。代码生成9个Square。

我想更改dataID以使用

等数组
 4, 9, 2, 3, 5, 7, 8, 1, 6

而不是按顺序编号每个方格1-9。

我希望这是有道理的。

1 个答案:

答案 0 :(得分:2)

只需使用一个数组并移动以依次获取每个元素:

var ids = [4, 9, 2, 3, 5, 7, 8, 1, 6];
$('svg rect.grid').each(function() {
    $(this).attr('data-id', ids.shift());
});

请注意,这会改变数组,因此如果您需要多次运行此进程,请确保不要将数组永久存储在某个位置,并且每次都重新初始化它。 (例如,将此代码放在函数内部并调用它将起作用。)