内部阵列的使用情况删除重复项
问题描述:
我有这个数组从网络刮来回来。看起来像这样:内部阵列的使用情况删除重复项
[["formatted_sum_fees", "£5.60"],
["formatted_price", "£46.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£3.30"],
["formatted_price", "£27.50"],
["formatted_sum_fees", "£3.30"],
["formatted_price", "£27.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£5.60"],
["formatted_price", "£46.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£5.60"],
["formatted_price", "£46.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£3.30"],
["formatted_price", "£27.50"]]
那么会发生什么,它重复?所以我想上面的阵列改变这一点(这将是不同的,每次所以就需要删除重复。):
[["formatted_sum_fees", "£5.60"],
["formatted_price", "£46.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£3.30"],
["formatted_price", "£27.50"]
别的在此之后存在是一种欺骗。
什么,我需要我的是收费和价格上一些变种,所以我可以下来保存到数据库:)
感谢 山姆
额外 继承人的raketask。
require "nokogiri"
require "open-uri"
namespace :task do
task test: :environment do
ticketmaster_url = "http://www.ticketmaster.co.uk/derren-brown-miracle-glasgow-04-07-2016/event/370050789149169E?artistid=1408737&majorcatid=10002&minorcatid=53&tpab=-1"
doc = Nokogiri::HTML(open(ticketmaster_url))
event_name = nil
ticket_price = nil
doc.xpath("//script[@type='text/javascript']/text()").each do |text|
if text.content =~ /more_options_on_polling/
ticket_price = text.to_s.scan(/\"(formatted_(?:price|sum_fees))\":\"(.+?)\"/)
byebug
end
end
end
end
答
你只需要添加阵列uniq
方法,你已经从网页刮了,这将给你从这个数组中取得一个值,然后你可以很容易地在这个数组上迭代来存储数据到数据库中。
答
您可以像使用
[["formatted_sum_fees", "£5.60"],
["formatted_price", "£46.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£3.30"],
["formatted_price", "£27.50"],
["formatted_sum_fees", "£3.30"],
["formatted_price", "£27.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£5.60"],
["formatted_price", "£46.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£5.60"],
["formatted_price", "£46.50"],
["formatted_sum_fees", "£4.50"],
["formatted_price", "£37.50"],
["formatted_sum_fees", "£3.30"],
["formatted_price", "£27.50"]].uniq
然后结果是:
[["formatted_sum_fees", "£5.60"], ["formatted_price", "£46.50"], ["formatted_sum_fees", "£4.50"], ["formatted_price", "£37.50"], ["formatted_sum_fees", "£3.30"], ["formatted_price", "£27.50"]]
对不起,我不明白这一点? –