Дмитрий: так как это в результате 2 массива, достаточно прогнать каждое значение из одного массива на сравнение с элементами из другого, при совпадении имени сравнивать время, и меньшее значение выбирать третий, результирующий массив.
xmoonlight: то есть span, i и p мы к дочерним элементам более не относим? ) ХТМЛ с Вами категорически не согласен ) Ок, это разметочные теги, ну а оформление в ckeditor, когда пихается в дивах картинки и проч. - тоже в мусор?
khipster: не обязательно тайтлы, там же есть какой-то уникальный контент? первые строчки текста описания, название файла, а если файлопомойка - то да - хеши наше все.
xmoonlight: а как же первым пунктом идет - Удаляем все контейнеры, с количеством дочерних элементов превышающих 1 - по этой логике весь пост - в мусорку
Defman21: если вас интересуют нативные функции жс - ищите исходники браузеров, большинство имеют открытый код, натив коде в данном случае говорит о том, что данная функция не написана на жс, а встроена в ядро интерпретирующей оболочки(браузера). Если есть желание посмотреть C++ реализацию - ищите сырцы проектов Webkit, gecko.
Obivankinobi: да не только жс, не расстраивайтесь) Добавил в ответ линк - Вам будет полезно прочесть. Так и не получил ответ - зачем защищать файл и кому можно его отдавать?
Илья Паршаков: значит я ошибся со структурой вашего массива,(который у Вас оказывается не массив а объект), подумайте как его переупорядочить из вашей структуры в нужную. Создается впечатление что вы тыкаете палкой мертвую кошку в надежде что она побежит за мертвой мышкой, в общем слабо разбираетесь в основах...
Илья Паршаков: у вас массив не как в примере сформирован, соответственно и функция не работает, читайте внимательно, нужно немного поскрипеть мозгами, задача не для полных новичков. Изменил ответ, попробуйте так отдать массив, я чесно говоря не до конца понимаю структуру Вашего массива, предположил что она такая как у меня в ответе.