我有一個數組如何搜索數組中的值並在發現2個或更多個時刪除其中的一個值?
var aos = ["a","a","a","b","b","c","d","d"];
我想知道,如果它發現2個或更多的數組中的值相同的,我可以只刪除1項。因此,舉例來說,如果它發現
"a", "a"
它會刪除那些「一」
這是我當前的代碼之一:
var intDennis = 1;
for (var i = 0; i < aos.length; i++) {
while (aos[i] == aos[intDennis]) {
aos.splice(i, 1);
intDennis++;
console.log(aos[intDennis], aos[i]);
}
intDennis = 1;
}
注:我的數組進行排序。
我欣賞所有的答案,但它似乎有些偏離軌道,我需要一些幫助,只刪除一個值一個重複的值,而不是所有的重複值,所以如果我有3個「a」,我只想刪除其中的一個「a」。 我可能需要找到一種不同的方法,而不是刪除重複項,任何建議都會很棒。 – 2011-06-06 20:58:34
只有重複時才需要刪除一個值嗎? – Briguy37 2011-06-06 21:01:53
我已經更新了我的答案,以便您澄清需求。 – Yardboy 2011-06-06 21:18:11