Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Профессиональный поиск по массиву (https://javascript.ru/forum/dom-window/28954-professionalnyjj-poisk-po-massivu.html)

RazZzeR 08.06.2012 14:23

Профессиональный поиск по массиву
 
Привет! :thanks:
Нам нужен качественный поиск по массиву.
Рассказываю все как есть.
У нас есть такие разделы в профиле как: друзья, аудиозаписи, видеозаписи.

По ним нужно сделать поиск. и не простой, типа проверка по шаблону,
а еще не учитывать регистр, и искать заместо Дшнкин : Linkin
тоесть если юзер ошибся раскладкой. (в том случаее, если в варианте Дшнкин ничего не найдено)

Пример нашего массива плейлиста: (json)
{"pl":[{"id":"2442","user_id":"1","track_num":"1","title":"Nine Inch Nails - We're In This Together","ext":"mp3","filesize":6.64,"owner_id":"0","copy":"0","text_status":"0","duration_sec":"435"},
{"id":"1967","user_id":"1","track_num":"2","title":"A Perfect Circle - The Package","ext":"mp3","filesize":10.56,"owner_id":"0","copy":"0","text_status":"1","duration_sec":"460"},
{"id":"2528","user_id":"1","track_num":"3","title":"Nirvanna - Smells Like Teen Spirit","ext":"mp3","filesize":6.9,"owner_id":"0","copy":"0","text_status":"1","duration_sec":"301"},
и т.д.

тоесть получается так: в массиве play есть еще массивы:
[0]: {массив в котором id, user_id, num, title, ext, filesize, owner_id, copy, text_status, duration_sec}
[1]: {массив в котором id, user_id, num, title, ext, filesize, owner_id, copy, text_status, duration_sec}
[2]: {массив в котором id, user_id, num, title, ext, filesize, owner_id, copy, text_status, duration_sec}
[3]: ...
[4]: ...
...
[230]: ...


нужно осуществить поиск в массиве play по всем ключам, ищя совпадения в title

Сможешь ли ты помочь?
Труд оплачивается. :agree:

Кстати, если возможно, лучше было бы с сортировкой.

Вариант твоей работы может не публиковаться, можем договориться в личке.

Приятного дня!


Заглядываю сюда раз в 30 мин.

RazZzeR 08.06.2012 15:01

Вот пример подобной работы, пару функций можно взять из нее.


/**
Принимает два аргумента: строку, состоящую из
слов для поиска, разделённых пробелами и вторую строку, в которой
будет осуществляться поиск. Формат содержиммого второй строки не критичен.

Функция осуществляет поиск слов во второй строке и возвразает массив
совпавших слов, отсортированный в алфавитном порядке.

Поиск производится без учёта регистра и границы слов.
То есть, если ищем слово «Студент», то будет зафиксировано совпадение,
если в тексте есть слово «студента».

*/
function findWords(pattern, text) {
var result = [ ], wordForTest;
pattern = pattern.split(" ");
text = text.toLowerCase();
while(pattern.length) {
wordForTest = pattern.pop().toLowerCase();
if (text.indexOf(wordForTest) !== -1) {
result.push(wordForTest);
}
}
result.sort();
return result;
}

// Проверим работу функции
var
words = "университет мощный тайфун уникальный академия студент аппендикс хром",
string = "Студент, как тайфун: уникальный, мощный, но непредсказуемый и пользы от него, для университета, никакой. Ваша академия."
;

alert( findWords( words, string ).join( "\n" ) );

melky 08.06.2012 15:39

что должно получиться в результате? по какому полю сортировать? сколько платите?

RazZzeR 08.06.2012 17:18

в результате должен получиться массив, из этих массивов ([0], [1], [2]),
ну или просто доступ к массиву, чтобы я мог в html преобразовать id, название, длительность, и т.п.
сортировать по названию, такая функция у каждого массива вроде есть. (sort)

платим сколько посчитаете нужным.

Deff 09.06.2012 00:18

Цитата:

Сообщение от RazZzeR
Дшнкин : Linkin

Дшнкин == Liyrby

Gvozd 09.06.2012 00:47

50WMZ
Предоплата по протекции
Номер ICQ/Skype/Jabber в личку, если готовы работать

tadjik1 09.06.2012 01:03

отписался, сделаю за 20)

Gvozd 09.06.2012 01:10

tadjik1,
демпинговать - не хорошо)

tadjik1 09.06.2012 01:18

честное слово - написал ему до того, как увидел ваше сообщение =)

Gvozd 09.06.2012 01:20

Цитата:

Сообщение от tadjik1
честное слово - написал ему до того, как увидел ваше сообщение =)

И ник - просто совпадение?)


Часовой пояс GMT +3, время: 01:04.