请帮助我如何更改代码,以便能够基于下拉选择来过滤数组,然后从数组中删除字段。
代码在此处上传:http://jsfiddle.net/x8e3rvcj
如果我选择了第一个和第二个列表项,但是在选择了第三个/第四个列表后重新设置了空数组,则可以正常工作,这似乎是因为删除了结果数组中的一个字段。 如果我删除了删除部分,则选择工作正常。
删除部分似乎引起了问题:
finalArray = jQuery.each(finalArray, function(arrElem, arrValue) {
Delete arrValue.MID;
});
谢谢
答案 0 :(得分:0)
经过一天的搜索,我发现在javascript中复制/编辑数组会影响范围内该数组的任何副本。 这称为变异。
解决方案:不要简单地复制数组而是“深度”复制它:
let copyArray = JSON.parse(JSON.stringify(valueArr)); //... etc.
感谢谁发明了这个令人讨厌的概念,我为此花了更多时间在代码部分上!