【发布时间】:2019-07-10 00:17:14
【问题描述】:
我有几个数组,每次都用不同的值填充。所以数组有时包含多个相同的值。所以它可能看起来像这样:[0, 0, 0, 2, 3, 0]。我希望能够删除目标值的一个实例。例如,如果目标是0,则数组可能如下所示:[0, 0, 2, 3, 0]。
目前我正在使用此代码:var new_list = grades.filter(e => e !== grade);
注意:grades 是我从数据库中得到的 ArrayList。但是这一行将删除所有 0。但我只想删除 0 之一。
编辑:
尝试过这样的事情:
let grades = doc.data()[grade_type] || [];
var elementIndex = grades.indexOf(grade);
grades.splice(elementIndex);
但不起作用。示例 ArrayList [0, 0, 0] 。输出[]。
~菲利普
【问题讨论】:
-
您要删除哪个零?还是要删除第一个找到的重复项?
-
@NinaScholz 应该删除哪个 0 并不重要:)
-
请注意此代码:
var new_list = grades.filter(e => e !== grade);将过滤所有与grade不同的元素,但如果您的数组中有Nequal 值与等级不同,他们都将被退回。因此,不会删除任何重复的内容。 -
仅供参考,
ArrayList是 Java 术语,表示其特定的数组实现。 Javascript 只有“数组”。 -
如果你有这个数组,另一件事将有助于澄清你的问题:
[0,0,1,1,1,2,2,2]你想作为输出得到[0,1,1,1,2,2,2]或[0,1,1,2,2]?
标签: javascript arraylist filter duplicates google-cloud-firestore