Javascript中的排序索引多维数组问题

Javascript中的排序索引多维数组问题,javascript,jquery,Javascript,Jquery,请看一下下面的演示,让我知道如何强制Javascript根据项目id将项目推送到数组中 var theArray=[ [“A”、“B”、“C”], [“D”、“E”], [“F”、“G”、“H”、“I”], [“J”], [“K”、“L”、“M”] ]; var res=theArray.toString(); $('#textarea').text(res); $(“输入[name='m1']”)。更改(函数(){ 如果($(this).is(':checked')){ var id=$(t

请看一下下面的演示,让我知道如何强制Javascript根据项目id将项目推送到数组中

var theArray=[
[“A”、“B”、“C”],
[“D”、“E”],
[“F”、“G”、“H”、“I”],
[“J”],
[“K”、“L”、“M”]
];
var res=theArray.toString();
$('#textarea').text(res);
$(“输入[name='m1']”)。更改(函数(){
如果($(this).is(':checked')){
var id=$(this.attr('id');
所选变量=$(this.val();
阵列[1][id]=已选定;
}否则{
var itemtoRemove=$(this.val();
阵列[1]。拼接($.inArray(itemtoRemove,阵列[1]),1);
}
var res=theArray.toString();
$('#textarea').text(res);
});




项目 螨1
螨2
螨3


我不理解这样一个应用程序的目的,但如果我正确理解了您的情况,下面是原因

最初,数组是[“D”,“E”]

当您选中mItem3时,它将变为[“D”、“E”、“mItem3”]。JS在索引2处添加了一个空项,因为您正在索引3处插入

取消选中mItem3时,数组将变为[“D”、“E”、“E]

勾选mItem2,然后[“D”、“E”、“mItem2”]

选中mItem1,然后它将替换索引1->[“D”、“mItem1”、“mItem2”]处的元素

取消选中mItem1将删除mItem1(在索引1处)->[“D”,“mItem2”]

我想,到目前为止,你一切都好

问题就出现了


再次选中mItem1时,它将替换索引1中的值为“mItem2”的项。因此,数组自然会变成[“D”,“mItem1”]。

你能解释一下你想做什么吗?您希望从您的代码片段中得到什么?