2017-04-13 3 views
0

Wird mein experimenteller Code funktionieren/sich wie mein Arbeitscode verhalten, vorausgesetzt, dass HTML, CSS und vorher JS funktionieren?Geparste Zeichenfolge auf Array in einem anderen Array speichern

Wenn nicht, warum? Was soll ich tun, um eine Loop-Array-Version meines Codes zu erstellen?

Experimental-Code:

var currentAccount = []; 
var fieldList = ["firstName","lastName","age","gender"]; 

for (var i = 0; i < fieldList.length; i++) { 
    JSON.parse(fieldList[i]) = document.getElementById(fieldList[i]).value; 
    currentAccount.push(JSON.parse(fieldList[i])); 
} 

Arbeitscode:

var currentAccount = []; 
var firstName, lastName, age, gender; 

firstName = document.getElementById("firstName").value; 
lastName = document.getElementById("lastName").value; 
age = document.getElementById("age").value; 
gender = document.getElementById("gender").value; 

currentAccount = [firstName, lastName, age, gender]; 

Antwort

0

Keine Notwendigkeit JSON.parse() in Sie experimentellen Code zu verwenden:

for (var i = 0; i < fieldList.length; i++) { 
    var fieldVal = document.getElementById(fieldList[i]).value; 
    currentAccount.push(fieldVal); 
} 
+0

Ist es in Ordnung, den Variablennamen der Zeichenfolge zu haben? –

+0

macht keinen Sinn ändern 'Feldliste [i] ' – charlietfl

+0

Ich aktualisiere meine Antwort zu speichern Feld Wert in einer temporären Variable anstelle von' Feldliste [i] '. Es ist weniger verwirrend auf diese Weise. –

1

, was soll ich tun, eine schaffen Loop-Array-Style-Version meines Codes?

So etwas wie dies

var fieldIds = [ "firstName", "lastName", "age", "gender" ]; 
var currentAccount = fieldIds.map(function(fieldId){ 
    return document.getElementById(fieldId).value; 
}) 
0

Hier ist eine schnelle Lösung ES6 und eine andere Art und Weise zu tun document.getElementById verwenden. Ich hoffe es hilft!

var $ = function(id) { return document.getElementById(id); }; 
var fieldIds = [ "firstName", "lastName", "age", "gender" ]; 
var currentAccount = fieldIds.map((fieldId) =>{ 
    return $(fieldId).value; 
}); 
Verwandte Themen