【发布时间】:2020-02-10 02:10:53
【问题描述】:
我正在尝试在 JavaScript 中编写一个函数来获取数组的唯一值,但我的代码无法正常工作。我知道还有其他更好更简单的方法可以做到这一点,但我不明白为什么我的代码不起作用,我想了解它。
函数有两个for循环,如果外索引和内索引不同且这些索引位置的值相同,则将内索引的位置推到另一个数组中。当内部for循环结束时,在另一个数组中注释的索引在原始数组中被替换为空值,以便稍后删除。
输入为:1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
但输出是:1 2 null null null null 4 4 4 4 5 5 5 5 5
我不知道出了什么问题,有人可以帮我吗?
function uniqueArrayValues(vector) {
var indexRepeated = [];
for (let i in vector) {
for (let j in vector) {
if (vector[i] == vector[j] && i != j && j != null && i != null && i < j ) {
indexRepeated.push(j);
}
}
for (let i in indexRepeated) {
if (vector[indexRepeated[i]] != null) {
vector.splice(vector[indexRepeated[i]], 1, null);
}
}
}
}
【问题讨论】:
标签: javascript arrays unique-values