時驗證是否包含在字符串的子串,我有兩個數據集比較遠元素
example1 = ["og", "phan"]
example2 = ["dog", "cat", "elephant", "chicken", "snake"]
我需要退換,確切地說,是含example1
只有元素,如果他們串的新數組example2
和中的任何元素,它們也應該包括在中,它們以與它們呈現的順序相同的順序。
我設法讓下面的代碼工作,但新的數組返回不同的順序(元素如["phan", "og"]
代替["og", "phan"]
r = []
array1.map { |x| r.push(x) if array2.join(" ").include?(x) }
r.flatten
超:我發現include?
不一樣,如果你的工作比較對數組數組時使用它,換句話說,它沒有找到一個單一的數組元素的字符串中的子串,除非它是完全一樣的。
當我嘗試你的代碼時,順序是正確的。簽出並運行:https://repl.it/EA98/0 – roychri
確實,但我最後遺漏了排序方法,這就是爲什麼它沒有以正確的順序返回數組。 – Leo