/[a-zA-Z\s.,!?-].*/
[a-zA-Z\s.,!?-]
{
title: 'task1'
comments: [{...}, {...}]
}for или forEach, например.task.comments.forEach(function(comment){
// код
})
.split делает именно то, что должен.'a|b'.split('|')'|a|b|'.split('|')
.split('|') сделать mas = mas.filter(function(item){return item !== ''}), что отчистит его от пустых элементов. Тогда сможете избавиться в коде от проверки на пустую строку при заполнении счётчика.$('#favour_in .goods_icon-counter').html(mas.length - 1); // mas.length == 3..length от которого НЕ будете ничего отнимать.