Я хочу быть в состоянии вытащить лучшее значение из отфильтрованного списка результатов, это моя тестовая страница:Как я могу вырвать результаты фильтрации?
http://plnkr.co/edit/MCLTKUGpIyuYYjv7DLFM?p=preview
Шаблон
<div ng-controller="repeatController">
<input type="search" ng-model="q" placeholder="filter results..." />
<ul>
<li ng-repeat="friend in friends | filter:q as results">
[{{$index + 1}}] {{friend.names[0]}}
</li>
<li ng-if="results.length == 0">
<strong>No results found...</strong>
</li>
</ul>
</div>
Контроллер
var app = angular.module('app', []);
app.controller('repeatController', function($scope) {
$scope.friends = [
{names:['David King', 'Davey', 'oodavid', 'Queenie']},
{names:['Paul King', 'Pablo', 'The Iron Paul']},
{names:['Michael P O\'Keefe', 'Miguel Vennie']},
{names:['James Griffiths', 'The Kraken', 'Thee Krakken']},
{names:['Queen Elizabeth', 'The Queen']}
];
});
Когда я печатаю «» В поле поиска, я вижу, что эти люди имеют «» в одном из их имен (что является правильным список) ...
- Paul King
- Джеймс Гриффитс
- Queen Elizabeth
... однако, я хочу, чтобы вырвать лучший матч из массива имен, а не только с помощью первого значения , поэтому он должен оказывать так:
- Железный Пол
- Кракен
- Королева
Любые указатели?
Нужен алгоритм ранжирования. Посмотрите на настраиваемую библиотеку поиска, чтобы сделать это – charlietfl