添加这个是因为有些人没有看到我要求的内容,但我在寻找每个数组中的唯一值,与其他数组相比。
我需要找到saved_start
和incoming_start
之间的差异,以及incoming_start
和saved_start
之间的差异。 saved_start
是数据库查询的结果,而incoming_start
是来自webhook的params
的结果。以下是两个开头的数组:
saved_start = [{id: "12345", qty: 25}, {id: "678", qty: 20}]
incoming_start = [{id: "12347", qty: 25}, {id: "678", qty: 20}, {id: "abc", qty: 20}]
我发现了数组之间的差异:
in_array = incoming_start - saved_start
saved_array = saved_start - incoming_start
以上回报:
in_array => [{:id=>"12347", :qty=>25}, {:id=>"abc", :qty=>20}]
saved_array => [{:id=>"12345", :qty=>25}]
然后遍历它们以查找in_array
id
12347
和abc
而saved_array
没有saved_array
。虽然id
有12345
in_array
而in_array
却没有。数量也是如此。
如果saved_array
和in_array.each do |incoming|
saved_array.each do |saved|
pp "Does the saved hash have the id #{incoming[:id]}
#{saved.has_value?(incoming[:id])}"
pp "Does the saved hash have the quantity of
#{incoming[:qty]} #{saved.has_value?(incoming[:qty])}"
end
end
的大小相同,则效果很好。如果没有,它会破裂。
in_array
以上效果很好,因为saved_array
大于saved_array
以下内容会返回错误数据,因为saved_array.each do |saved|
in_array.each do |incoming|
pp "Does the incoming hash have the id #{saved[:id]}
#{incoming.has_value?(saved[:id])}"
pp "Does the incoming hash have the quantity of #{saved[:qty]}
#{incoming.has_value?(saved[:qty])}"
end
end
较小。
saved_start
在英语中,我需要让incoming_start
包含与saved_start
相同的数据。
但为了做到这一点,我需要知道incoming_start
中不在saved_start
内的内容,以便我可以从id
删除它。然后找出< incoming_start'中的内容。那不在' saved_start'所以我可以添加它。然后最终qty
中的incoming_start
可能saved_start
在[{1}}中有所不同,因此我需要更新$post->averageRating()
。
噢..
由于
答案 0 :(得分:0)
您好希望以下代码可能有所帮助。此代码将:(01) - 数组1中的点值未在数组2中找到...(02) - 数组2中的点值在数组1中找不到...(03) - 存储数组2中的所有唯一值。 ...对于问题的描述,我认为这是你正在寻找的,为了使事情更容易,我将数组重命名为:arr1& ARR2。
<script src="cordova.js"></script>
我希望这会有所帮助。 ;)