我之前发布过这个问题为jquery/javascript:arrays - jquery/javascript:arrays.但由于我是一个完整的初学者,我已经提出错误的问题,也不理解答案...... :(
在未能实现给定的解决方案之后,我做了一些更多的研究,我发现我需要比较6个可能选择的数组并将它们相交以最终只显示重叠值.
所以希望这是一个更清晰的表述:
我有6个问题/ 6组单选按钮的答案.每个答案都有多个值(它们可以在最终的"建议"中显示1到38个项目).我正在收集数组中已检查无线电的值.我得到6个数组.
我如何交叉6个数组,以便从一个包含所有6个选项的交叉值中获得一个最终数组?如何将此最终数组的项目转换为选择器?
有人可以帮帮我吗?谢谢!
我的脚本现在看起来像:
(function($){
$.fn.checkboxval = function(){
var outArr = [];
this.filter(':checked').each(function(){
outArr.push(this.getAttribute("value"));
});
return outArr;
};
})
(jQuery);
$(function(){
$('#link').click(function(){
var valArr1 = $('#vraag1 input:radio:checked').checkboxval();
var valArr2 = $('#vraag2 input:radio:checked').checkboxval();
var valArr3 = $('#vraag3 input:radio:checked').checkboxval();
var valArr4 = $('#vraag4 input:radio:checked').checkboxval();
var valArr5 = $('#vraag5 input:radio:checked').checkboxval();
var valArr6 = $('#vraag6 input:radio:checked').checkboxval();
// var newArray = $.merge(valArr1, valArr2, valArr3, valArr4, valArr5, valArr6); <- test to see if I can merge them
// …Run Code Online (Sandbox Code Playgroud) 我有这张桌子:
+----+-----------+-------+
| id | client_id | is_in |
+----+-----------+-------+
| 1 | 1 | 0 |
+----+-----------+-------+
| 2 | 2 | 0 |
+----+-----------+-------+
| 3 | 1 | 1 |
+----+-----------+-------+
| 4 | 2 | 1 |
+----+-----------+-------+
| 5 | 3 | 1 |
+----+-----------+-------+
| 6 | 3 | 1 |
+----+-----------+-------+
| 7 | 1 | 0 |
+----+-----------+-------+
| 8 | 4 | 0 |
+----+-----------+-------+
| 9 | 4 | 0 …Run Code Online (Sandbox Code Playgroud) 我想通过几个关键字搜索书籍数据库.我提供的关键字越多,搜索范围就越窄.这是我的代码:
var words = text.Split(' ');
IQueryable<Reference> query = null;
foreach (string word in words)
{
var result = from r in _dbConnection.GetTable<Reference>()
where r.Title.Contains(word)
|| r.ReferenceAuthor.Any(a => a.Person.LastName.Contains(word) || a.Person.FirstName.Contains(word))
|| r.ReferenceCategory.Any(c => c.Category.Name.Contains(word))
|| r.ReferenceKeyword.Any(k => k.Keyword.Name.Contains(word))
orderby r.Title
select r;
query = query == null ? result : query.Intersect(result);
}
query.OrderBy(r => r.Title);
Run Code Online (Sandbox Code Playgroud)
问题是,搜索实际上并没有越多,我提供的关键字越多.结果甚至取决于我提供关键字的顺序.此外,如果涉及多个关键字,则最后一次OrderBy()调用无法可靠地工作.我的想法有缺陷,还是我实施它的方式?
我很难解释这个,但我希望一些代码可以帮助:
var softChannels = channels.ByPath("/software/").Children.Where(c => c.StateProperties.IsActive);
var tmpGames = new List<MyCms.Content.Games.Game>();
// Get games only from active game channels
foreach (var channel in channels.ByPath("/gameslivecasinodirectcom/game-channels/").Children.Where(c => c.StateProperties.IsActive))
{
// QUESTION IS ABOUT THIS LINE
tmpGames.AddRange(oGames.AllActive.Where(g => g.StateProperties.Channels.Contains(channel.Guid) && g.GamingProperties.Software.Contains(softChannels)));
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是,如果g.GamingProperties.Software包含一个SoftChannel的Guids,那么添加它.也许一个不同的认可会更好......任何建议?
ps我知道这行不起作用,我把代码放在那里只是为了便于理解我需要的东西.
编辑:我想我已经解决了它:
var softChannels = channels.ByPath("/software/").Children.Where(c => c.StateProperties.IsActive).Select(c => c.Guid);
var tmpGames = new List<MyCms.Content.Games.Game>();
// Get games only from active game channels
foreach (var channel in channels.ByPath("/gameslivecasinodirectcom/game-channels/").Children.Where(c => c.StateProperties.IsActive))
{
tmpGames.AddRange(oGames.AllActive.Where(g => g.StateProperties.Channels.Contains(channel.Guid) && softChannels.Contains(g.GamingProperties.Software.Trim())));
} …Run Code Online (Sandbox Code Playgroud) 如果我有两个类型为T的集合,以及一个比较其属性子集的IEqualityComparer,那么Intersect或Union的结果元素来自哪个集合?
我到目前为止进行的测试表明如下:
我知道这不应该是一个问题,因为(根据定义)我应该将结果对象视为相等.我刚刚想到,使用带有自定义比较器的Union可能比等效的Join更整洁 - 尽管如果上述假设得到保证,这只适用.
class DummyComparer : IEqualityComparer<Dummy>
{
public bool Equals(Dummy x, Dummy y)
{
return x.ID == y.ID;
}
public int GetHashCode(Dummy obj)
{
return obj.ID.GetHashCode();
}
}
class Dummy
{
public int ID { get; set; }
public string Name { get; set; }
}
[Test]
public void UnionTest()
{
var comparer = new DummyComparer();
var d1 = new Dummy { ID = 0, Name = "test0" };
var d2 = new Dummy …Run Code Online (Sandbox Code Playgroud) 我有以下数据作为示例:
basketball = c("MISS W. Johnson 18' Pullup Jump Shot",
"MISS Barnes 12' Pullup Jump Shot",
"MISS Carter 19' Pullup Jump Shot")
Run Code Online (Sandbox Code Playgroud)
我如何找到最常见的单词或"相交"它们,以便我只能得到"MISS Pullup Jump Shot"结果?
我正在制作一个令我困惑的项目.
给定是List<TimeInterval> list包含类的元素,TimeInterval如下所示:
public class TimeInterval {
private static final Instant CONSTANT = new Instant(0);
private final LocalDate validFrom;
private final LocalDate validTo;
public TimeInterval(LocalDate validFrom, LocalDate validTo) {
this.validFrom = validFrom;
this.validTo = validTo;
}
public boolean isValid() {
try {
return toInterval() != null;
}
catch (IllegalArgumentException e) {
return false;
}
}
public boolean overlapsWith(TimeInterval timeInterval) {
return this.toInterval().overlaps(timeInterval.toInterval());
}
private Interval toInterval() throws IllegalArgumentException {
return new Interval(validFrom.toDateTime(CONSTANT), validTo.toDateTime(CONSTANT));
}
Run Code Online (Sandbox Code Playgroud)
使用以下内容生成间隔:
TimeInterval …Run Code Online (Sandbox Code Playgroud) 我想将具有公共密钥的两个F#地图集成到一个Map中,该Map具有公共密钥和两个值的元组作为其值.
即签名是这样的:
Map<K, T1> -> Map<K, T2> -> Map<K, T1 * T2>
Run Code Online (Sandbox Code Playgroud)
有任何简单实用且高效的方法吗?
我知道我可以将各组键交叉,然后构建一个新的地图,我只想做一些不那么脏的事情......
我正在努力理解这个程序,但我遇到了一些困难.我不理解的部分x_min,y_min,x_max,y_max.
我理解程序经过两个矩形与左下和右上坐标点,但是在做数组索引[0][0],[1][1]等等从何而来?
我对发生的事情感到困惑,所以解释会有所帮助.
# Write a function, `rec_intersection(rect1, rect2)` and returns the
# intersection of the two.
#
# Rectangles are represented as a pair of coordinate-pairs: the
# bottom-left and top-right coordinates (given in `[x, y]` notation).
#
# Hint: You can calculate the left-most x coordinate of the
# intersection by taking the maximum of the left-most x coordinate of
# each rectangle. Likewise, you can …Run Code Online (Sandbox Code Playgroud) 我正在尝试执行一个简单的 st_intersects 查询:
select st_intersects('MULTIPOLYGON(((1 5,4 8,7 5,4 2,1 5)),((5 5,8 8,11 5,8 2,5 5)))','POLYGON((3 4.5,3 5,4 5,4 4,3 4.5))');
Run Code Online (Sandbox Code Playgroud)
它粉碎了控制台并返回以下错误:
错误:GEOSIntersects:TopologyException:侧面位置冲突:6 4
这很奇怪,因为以下查询有效:
select st_intersects('MULTIPOLYGON(((1 5,4 8,7 5,4 2,1 5)),((5 5,8 8,11 5,8 2,5 5)))','POLYGON((3 4,3 5,4 5,4 4,3 4))');
Run Code Online (Sandbox Code Playgroud)
两者之间的唯一区别是最后一个多边形中的 4 / 4.5 ..
我使用 POSTGIS 2.2.1 版,我在这里缺少什么?