Занялся написанием расширения для браузера. kango, requirejs, underscore, jquery. Решил попробовать. И столкнулся с написанием "модуля" который отслеживает изменения уровней игроков исходя из странички с логами этих изменений.
Спарсили страничку истории изменения уровней у игроков. Сверху - новые изменения. Вытащить из объекта obj1 только отслеживаемые объекты из "масива" nicks причем только первое их вхождение. (Так как самые новые обновления сверху - то что после первого вхождения уже устарело)
var nicks = ['A', 'B', 'C'];
var obj1 = {
0: {nick: 'A', lvl: 2} //Первый раз встретился ник А
1: {nick: 'B', lvl: 3} //Первый раз встретился ник B
2: {nick: 'B', lvl: 10}
3: {nick: 'A', lvl: 12}
3: {nick: 'С', lvl: 5}
3: {nick: 'F', lvl: 1}
4: {nick: 'C', lvl: 6} //Первый раз встретился ник C
3: {nick: 'G', lvl: 55}
}
После чего получаем резульат сортировки(должно получить на выходе):
obj2 = {
0: {nick: 'A', lvl: 2}
1: {nick: 'B', lvl: 3}
2: {nick: 'C', lvl: 6}
}
После чего нужно проверить старые значения с новыми.
Берем obj3 и проверяем. Если у ника изменился уровень(из obj2) сравнительно с obj3 - обновить значение в obj2 и выдать сообщение в консоль (У ника C уровень стал ниже (5))
var obj3 = {
0: {nick: 'A', lvl: 3}
1: {nick: 'C', lvl: 1}
}
Как все это реализовать я не могу сообразить. Именно по части логики. В распоряжении underscore и jquery