2015-07-24 6 views
0

У меня очень странная ошибка. Вот результат массива, если я делаю console.log (массив);замените пробелы в массиве с помощью javascript. простой, но твист

[" TRUE ", " FALSE "] 

Я хочу выход быть

["TRUE", "FALSE"] 

Там не должно быть никаких пробелы между кавычками. Надеюсь, вы поняли мою точку зрения. поэтому элементы массива фактически не имеют пробелов.

Может ли кто-нибудь PLS дать мне знать, как удалить пробелы. Если между двойными кавычками есть пробелы, я не могу отображать данные для флажка в jqgrid.

+2

Как являются элементы добавлены в массив? Может быть, удалить там пробелы? – Marvin

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim –

ответ

5
var arr = [" TRUE ", " FALSE "] 
for(var i=0; i< arr.length; i++) { 
    arr[i] = arr[i].trim(); 
} 
3

альтернатива @ jrath Ответим:

var arr = [" TRUE ", " FALSE "]; 
arr = arr.map(function(value){ 
    return value.trim() 
}); 

BTW вы должны почти наверняка решить эту проблему, когда вы делаете массив, не там, где вы показываете массив

+0

@ Платон - я понимаю вашу точку зрения. У меня был массив, подготовленный на бэкэнд с использованием perl. процесс создания массива был сложным. поэтому подумал о том, чтобы сформировать его со стороны браузера перед отображением. – aqqq

0
function format(arr){ 
$.each(arr, function(index,item){ arr[index] = arr[index].trim()}); 
} 
+2

Что такое '' '' ???? –

+0

$ представляет собой короткую форму jquery. $ .each или jquery.each, может выполнять итерацию по списку или массиву, и вы можете вызывать функцию с каждым элементом массива. –

+0

$ является псевдонимом для jqery. Ответ btw @jraths работал нормально. – aqqq