根据选择列表过滤数组并删除不起作用的字段

问题描述 投票:0回答:1

请帮我如何更改我的代码,以便能够根据下拉选择过滤数组,然后从数组中删除一个字段。

代码上传到这里:http://jsfiddle.net/x8e3rvcj

如果我选择第一个和第二个列表项但是在第三个/第四个选择之后返回空数组,它似乎是因为删除了结果数组中的一个字段。如果删除删除部分,则选择正常。

删除部分似乎导致问题是:

finalArray = jQuery.each(finalArray, function(arrElem, arrValue) {
Delete arrValue.MID; 
});

谢谢

javascript html arrays
1个回答
0
投票

经过一天的搜索后,我发现在javascript中复制/编辑数组会影响范围内任何数组的副本。这称为变异。

解决方案:不要简单地复制数组,而是“深度”复制它:

let copyArray = JSON.parse(JSON.stringify(valueArr)); //... etc.

谢谢谁发明了这个讨厌的概念,因为我在这个代码部分花费了额外的时间!

© www.soinside.com 2019 - 2024. All rights reserved.