2016-03-23 9 views
1

Ich versuche, alle Array-Indizes Kleinbuchstaben Strings, aber es funktioniert nicht. Ich schaute auf andere Antworten hier und versuchte ihre Lösungen wie toString() vor dem Hinzufügen toLowerCase, aber es funktioniert nicht, was seltsam ist.Javascript - Making Array-Index toLowerCase() funktioniert nicht

Ich habe ein Problem des Problems here erstellt.

JS:

$(colorArr).each(function(i, item) // loop thru each of elements in colorArr and make lowercase + trim 
{ 
    if(colorArr[i] !== undefined) // check if colorArr index undefined 
     { 
     colorArr[i].toString().toLowerCase().trim(); // FIX HERE 
     /* TRIED - DIDN'T WORK! 
     colorArr[i].toLowerCase().trim(); 
     */ 
     } 
}); 
+0

Mögliche Duplikat von [Warum schneidet die Trimmung nicht wirklich? trim funktioniert nicht in meinem Fall] (http://stackoverflow.com/questions/18685076/why-does-the-trim-doesnt-really-trim-tri-not-working-in-my-case) – JJJ

+0

@juhana This Das hat nichts mit 'trim()' zu tun, obwohl es im Code ist, ich frage nur nach 'toLowerCase()'. – TheAmazingKnight

+0

Die Lösung ist die gleiche: Sie bewerben sich aufLowerCase und trimmen, tun aber nichts mit dem Ergebnis. – JJJ

Antwort

3

i Ihre Geige aktualisiert

https://jsfiddle.net/af91r2cq/6/

colorArr[i] = colorArr[i].toString().toLowerCase().trim(); // FIX HERE 

Weg war ganz in der Nähe;)

+0

Vergleicht man die andere Variable 'checkedAttr', warum hat es für' checkedAttr' statt für 'colorArr' funktioniert, wenn beide ein Array von Strings sind? – TheAmazingKnight

2

Sie müssen den Wert zurück

Es

colorArr[i] = colorArr[i].toString().toLowerCase().trim(); // FIX HERE 

werden soll oder einfach

colorArr = colorArr.map(function(value){ return value ? value.toLowerCase().trim() : ""; }); 
+0

Vielen Dank, es funktionierte für mich .... – Raj

1

Eine andere Art und Weise ändern alle definierten Werte im Array verwenden, um Kleinbuchstaben ist die jQuery.map Funktion wie so:

colorArr = $.map(colorArr, function(item, i) { 
    if(item !== undefined) { 
    return item.toString().toLowerCase().trim(); 
    } 
});