在Javascript中过滤逻辑 - 在数组中查找值的范围

时间:2014-09-17 13:48:38

标签: javascript jquery arrays

努力让我理解这里所需的逻辑/语法,所以希望有人比我更聪明可以提供帮助: - )

我正在尝试复制此处显示的“卧室”滑块功能:https://www.redrow.co.uk/search?utf8=%E2%9C%93&category=&item_id=&search_type=text&advanced_search=true&term=birmingham&x=0&y=0&distance=20&min-beds=1&price-min=0&price-max=100000000&house_type=

你会看到一个搜索带回了一系列具有各种属性的房地产开发项目,其中一个属于该开发项目可能拥有的卧室房屋数量,例如。 “2,3和4卧室住宅”或“1,3和4卧室住宅”。

在页面顶部的搜索过滤器中有一个“卧室”滑块。最大值固定为6+,但最小值可由用户选择。因此,当滑块手柄打开时,例如“3”,可以过滤到具有3间卧室或更多卧室的所有开发项目。我遇到麻烦的部分是一个开发 - 作为上面结果中显示的例子,假设'Chestnut Walk'开发 - 有3和4个卧室的属性,但它也有2个卧室的属性,将被过滤掉将滑块放在'3'处。

在我的JSON对象中,我为每个开发项目提供了一系列可用的卧室,例如,使用“2,3和4卧室住宅”的开发将具有['2','3','4的数组“]。我认为我需要做的是检查数组中任何值是否在滑块的最小和最大卧室数内 - 但是作为一点一个JS新手我不能为我的生活弄清楚我将如何有效地做到这一点。有人可以帮忙吗?!

2 个答案:

答案 0 :(得分:1)

如果你将minLimit作为滑块中选择的最小房间数,那么:

for(var i=0; i<noOfRoomsArray.length; i++){
  if(noOfRoomsArray[i] >= minLimit){
  //this is a valid choice of client
  }
}

答案 1 :(得分:0)

您可以在数组上使用js数学函数min()和max()。