我有一个动态生成的多维数组,要从中删除特定值。
到目前为止,我有这段代码:
mainARR = [[1,2,3,4], [5,6,7,8]];
delARR = [1,2,3,4];
function removeByValue(array, value){
return array.filter(function(elem, _index){
return value != elem;
});
}
mainARR = removeByValue(mainARR, delARR);
console.log(JSON.stringify(mainARR));
我不知道要删除的值的索引。相反,我知道实际值。该值是数组时,该代码不起作用。当我想删除值1时,它非常适合像[1,2,3,4]之类的简单数组。
任何帮助表示赞赏。
最佳答案
如果将elem
和value
制成字符串,则您的代码可以正常工作。
function removeByValue(array, value) {
return array.filter(function(elem, _index) {
return value.toString() != elem.toString();
});
}
下面的例子
mainARR = [
[1, 2, 3, 4],
[5, 6, 7, 8]
];
delARR = [1, 2, 3, 4];
function removeByValue(array, value) {
return array.filter(function(elem, _index) {
return value.toString() != elem.toString();
});
}
mainARR = removeByValue(mainARR, delARR);
console.log(JSON.stringify(mainARR));