У меня проблема с функцией where() в Underscore.js. У меня есть такой объект:
var location = [{ id: "1", name: "house 1", date: "20-11-2013" },
{ id: "2", name: "house 2", date: "30-11-2013"}];
И форма, которая работает как фильтр с подобным выбором:
From
<input type="date" name="from" />
Until
<input type="date" name="until" />
Как я могу заставить функцию where() возвращать объекты, дата которых больше, чем значение "От" и меньше значения "До".
Думаю, вы не можете сделать это, используя where
. Вы можете использовать filter
документ вместо:
var fromDate, untilDate;
fromDate = $('[name="from"]').val();
fromDate = fromDate.split('-');
fromDate = new Date(fromDate[0], fromDate[1] - 1, fromDate[2]);
untilDate = $('[name="until"]').val();
untilDate = untilDate.split('-');
untilDate = new Date(untilDate[0], untilDate[1] - 1, untilDate[2]);
var result = _.filter(location, function (item) {
var date;
date = item.date.split('-');
date = new Date(date[2], date[1] - 1, date[0]);
return date > fromDate && date < untilDate;
});
lt
иgt
работа по датам? Не нужно ли вам сначала конвертировать их в объекты даты, иначе это просто сравнение строк ...s core and guess that I can
сделать это вообще. Я думаю, что я собираюсь использовать где и с массивом, который возвращает плохо использовать фильтр, чтобы сделать это. Спасибо!