Я был просто поиск простого Jquery сортировочного сценария и нашел в Интернете:Понимания простого сценария сортировки, который сравнивает значения
$(function() {
$('ol').each(function() {
var matches = $('li', this).filter(function() { // Each item
var text = $(this).text();
return $('ul.three li').filter(function() { // Are there matches in .three?
return $(this).text() == text;
}).length > 0;
}).length;
$('li:last', this).text((matches * 10) + ' Points');
});
});
Обратите внимание, как значения первых 2 таблиц по сравнению с значениями третьей таблицы. теперь мой вопрос о том, как увеличивается matches
, я просмотрел весь скрипт, но не совсем понимаю, как совпадение получает значение 4 и 2 для первой и второй таблицы соответственно (отображается в соответствующей таблице как 40 и 20) , Я понимаю использование функции filter
, но не совсем понимаю, как матчи получают ее значение, я знаю, что свойство length
связано с этим, я вижу его в конце оператора return, но все еще не совсем понимаю, как совпадают увеличиваться?
'filter' возвращает элементы, соответствовал фильтру, в основном, а затем 'length' возвращает размер массива items. Что именно вы не понимаете? –
@ PabloMatíasGomez, как d oes матч заселяются с 4 в первый раз? , если вы можете ответить на этот вопрос, вы ответили на мой вопрос. –
Ii выполняет итерацию каждого 'li' в этом' ol' и сравнивает каждый из них, чтобы увидеть, есть ли его текст в любом из 'li' в' .three'. И, как вы можете видеть, их четыре. Таким образом, фильтр возвращает четыре элемента 'li' в массиве (не reaaly массива, а« массив jQuery »), а затем' length' равно 4. –