У меня есть массив строк.Использование сплайсинга с массивом строк
Я хочу ckhek, если в массиве есть только строки пробелов и удалить их.
С этой целью я написал следующий код, который обрезает пробелы, а затем следует удалять elemens с длиной = 0.
обивку работ, строка пробелов фактически из 0 legth (проверить это с предупреждением), но элементы не удаляются из массива.
Конечно, поисковые системы - это массив.
for (var i=0;i<searchterms.length;i++)
{
searchterms[i]=searchterms[i].trim();
alert(searchterms[i]+" - "+searchterms[i].toString().length);
if (searchterms[i].toString().length = 0)
{
searchterms.splice(i,1);
}
}
То же самое происходит, если я использую следующий код вместо:
for (var i=0;i<searchterms.length;i++)
{
tempterm=searchterms[i].trim();
alert(tempterm+" - "+tempterm.toString().length);
if (tempterm.toString().length = 0)
{
searchterms.splice(i,1);
}
}
Спасибо заранее.
Я попробовал сначала более простое решение, то есть, используя == вместо = (это была глупая ошибка!), Но я нашел неожиданная проблема: цикл did'nt работает в представлении более последовательного элемента нулевой длины в массиве. Я не могу понять, почему это произошло, но я решил проблему по-другому: я помещаю условие в другой цикл, который обрабатывает массив, чтобы игнорировать эти нежелательные элементы. – Beppe
BTW, я также понял, что если вы обрабатываете строку с помощью searchterms = srchstr.split (""), и строка содержит более последовательные пробелы, результирующий массив содержит нулевые элементы вместо пробелов, как я полагал; например, результатом «william shakespeare» является william ,,, shakespeare NOT «william,,, shakespeare», сот, что нет необходимости подрезать что-либо (как вы понимаете, я не эксперт Javascript ...) – Beppe