Я получил некоторые проблемы в замене пространства Вот мой кодЗаменить пробел по индексу запятых в JavaScript
var getTags = function(video_tagslist)
{
var commas = _.allOccurrences(video_tagslist, ',');
if (!_.array(commas))
{
// goback?
return;
}
var tagList = [];
for (var i = 0; i < commas.length; i++)
{
var tag = "";
if (i == 0) {
tag = video_tagslist.substring(0, commas[i]);
} else if (i < commas.length-1) {
tag = video_tagslist.substring(commas[i-1]+1, commas[i]);
} else {
tag = video_tagslist.substring(commas[i]+1);
}
tag = _.trim(tag);
tagList.push(tag);
};
return tagList;
}
allOccurrences() является функцией, которая может вернуть все индекс запятых в video_taglist.
Но когда я тестирую его, он всегда пропускает некоторые теги внутри. Например, если я даю строку = "tag5, tag8, tag9, tag12, tag7" вот так. Результат получится ["tag5", "tag8", "tag9", "tag7"]. всегда пропускают последние, но только теги. поэтому в этой ситуации тег 12 отсутствовал.
Интересно, что что-то не так в цикле for, может ли кто-нибудь помочь мне исправить это?
Вот alloccurrences функцию
вар allOccurrences = функция (список, значение) { вар мне = "Utils :: allOccurrences";
if (!utils.array(list) && !utils.string(list)) {
log.error(me, "Given list is not an array or string");
return null;
}
if (utils.string(list) && !utils.string(value)) {
log.error(me, "Unable to search for a non string value in a string");
return null;
}
if (utils.string(list) && utils.string(value) && utils.empty(value)) {
log.warn(me, "Unable to search for an empty string in a string");
return [];
}
var startIndex = 0;
var index = -1;
var indices = [];
var listLen = list.length;
while ((index = list.indexOf(value, startIndex)) > -1) {
indices.push(index);
startIndex = index + 1;
}
return indices;
};
Извините, в этом примере я даю string = tag5, tag8, tag9, tag12, tag7. пробел отсутствовал между каждым тегом. –
и замена пространства на самом деле работает, просто всегда отсутствует последний, но один тег .. чувствую себя раздражающим сейчас .. –
Можете ли вы поделиться «allOccurrences», а также –