2016-04-18 2 views
0

私は2つの配列を比較しています。重複がどの位置にあるのか把握する必要があります。私は配列をマップする必要がありますが、それを行う方法はわかりません。最後に、私はフィルタリングされた配列をしたい。 1は重複があることを示し、「」は重複がないことを示します。2番目の配列を使用して特定の値の位置を見つけるにはどうすればよいですか?

var Strarr = ["1", "2", "3", "4"] 
var importarr = ["1", "3"] 

filteredArray = ["1", "", "1", ""] 

答えて

2
let result = Strarr.map { importarr.contains($0) ? "1" : ""} 

print(result) // ["1", "", "1", ""] 

少し短いです。

0

これは動作します:

var Strarr = ["1", "2", "3", "4"] 
var importarr = ["1", "3"] 

var newArray = Strarr 
for i in 0..<Strarr.count { 
    if importarr.contains(Strarr[i]) { 
     newArray[i] = "1" 
    } 
    else{ 
     newArray[i] = "0" 
    } 
} 
print(newArray) 

プリント"["1", "0", "1", "0"]\n"

0

これは

var Strarr = ["1", "2", "3", "4"] 
var importarr = ["1", "3"] 
var filteredArray = Strarr.map(function(val){ 
    return importarr.indexOf(val) != -1 ? "1" : ""; 
}); 
+0

これは何もしませんが、エラーを与えるべきで行う必要があります... – Eendje

関連する問題