时验证是否包含在字符串的子串,我有两个数据集比较远元素
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