0

要素が重複している配列があります:

data = ["Ruby on rails", "Ruby on rails", "Jquery", "Coffescript", "Javascript"]

配列の重複要素を削除しようとしています

indexes = []
uniques = []
i = 0
while i < data.length
 if indexes[data[i].text] is "undefined"
  indexes[data[i].text] = "defined"
  uniques.push
i++
console.log data

しかし、要素が重複していても同じ結果が得られます。

どうすれば修正できますか?

ありがとう!

4

1 に答える 1

5
… is "undefined"

にコンパイルされますが=== "undefined"、これはあなたが望むものではありません。文字列ではなくundefined値と比較するための引用符を削除します。

ところで、あなたのスクリプトは

index = {}
uniques = []

for text in data
 unless (text of index)
  index[text] = true
  uniques.push(text)

または次のようなフィルター内包表記

index = {}
uniques = for text in data when not (text of index)
 index[text] = true
 text
于 2013-09-27T14:29:39.023 に答える