【发布时间】:2016-02-02 21:06:40
【问题描述】:
我试图以特定顺序保持数组,并且我已经了解了在特定索引位置插入的拼接函数,但它似乎没有做正确的事情。
这是我目前所拥有的一个小提琴:http://jsfiddle.net/drumichael/7r2pV/277/
在第 1 部分中,您可以选择一个或多个选项,但“第一”应始终为第一个,“第二”应始终为第 2,“第四”应始终位于这两者之后。如果您只选择“第一”和“第四”,则无论您选中复选框的顺序如何,它们都应按此顺序排列。
在第 2 部分 - 您只能选择选项 A、B 和 C 中的一个...并且该选项应始终位于数组的第 3 位(当然,除非您没有从第 1 部分中选择任何项目,它将全部在数组中)。
老实说,我不确定从这里去哪里。我试过这个:
var array_position = $(this).attr('id');
var messagePart = $(this).attr('data-message');
message.splice(array_position, 0, messagePart);
但它们仍然没有按正确的顺序结束。
【问题讨论】:
-
message[array_position]=messagePart;插入正确的插槽,这会产生空插槽...然后在加入之前:message.filter(Boolean).join(", ")删除空插槽。你甚至不需要弄乱 splice()... -
如果你在第1节中选择所有三个选项,那么第2节中的选项不会排在第四位吗?您的意思是第 2 节选项总是最后一个吗?好的,我明白了,第 2 节是第 1 节缺少的第三个位置。
标签: javascript jquery arrays