我想要一个唯一对象数组,删除具有一些特定属性值的重复对象.例如:在下面的代码片段中,event1和event2具有相同的标题和相同的起始值,event3和event4具有相同的标题但开始时间不同.
我想从对象数组中删除event2(因为它具有与event1相同的标题和起始值),但不是event4(因为它只有相同的标题).
我的代码看起来像:
var event1 = {id: 1, title: 'ABC', start: '10'};
var event2 = {id: 2, title: 'ABC', start: '10'};
var event3 = {id: 3, title: 'DEF', start: '12'};
var event4 = {id: 4, title: 'DEF', start: '20'};
var a=[];
a.push(event1);
a.push(event2);
a.push(event3);
a.push(event4);
//I tried this, but this code checks for title only.
var titles = [];
var b = [];
$.each(a, function(index, event) {
if ($.inArray(event.title, titles) === -1) {
titles.push(event.title);
b.push(event);
}
});
console.log(b); //Gives output …Run Code Online (Sandbox Code Playgroud) 在IRB中,如果我运行以下命令:
require 'date'
Date.today
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
=> #<Date: 2015-09-26 ((2457292j,0s,0n),+0s,2299161j)>
Run Code Online (Sandbox Code Playgroud)
但是在Rails控制台中,如果我运行Date.today,我得到这个:
=> Sat, 26 Sep 2015
Run Code Online (Sandbox Code Playgroud)
我查看了Rails的Date类,但无法找到Rails如何Date.today以不同于Ruby的输出显示输出.
任何人都可以告诉Rails如何Date.today或Date.tomorrow格式化日期以便很好地显示?
我需要在rails中运行这样的查询:
select users.* from users inner join posts on users.id = posts.user_id where posts.title like '%xxx%' or posts.title like '%yyy%' or posts.title like '%zzz%'
Run Code Online (Sandbox Code Playgroud)
用户和帖子是我的模特.我做了这样的事情:
title_array = ["xxx", "yyy", "zzz"]
users = User.all
users = users.joins(:posts).where(posts: { title: title_array })
Run Code Online (Sandbox Code Playgroud)
但这给了我这样的SQL查询:
select users.* from users inner join posts on users.id = posts.user_id where posts.title IN ('%xxx%', '%yyy%', '%zzz%')
Run Code Online (Sandbox Code Playgroud)
另外,我在数组中有posts.title的值.所以我给出了三个OR值的示例,但它可能随每个请求而变化.
我需要rails方式来解决这个问题.有人可以帮我解决这个问题吗?