Функция pairup
здесь генерирует код для сопряжения. Вам нужно eval
возвращенный код, чтобы фактически выполнить его.
<script>
function pairup(s) {
s = s.split(":");
var lhs = s[0].split(",");
var rhs = s[1].split(",");
var pairing = "";
for (var i = 0; i < lhs.length; i++) {
pairing += "var " + lhs[i] + " = " + rhs[i] + "; \n";
}
return pairing;
}
alert(pairup("A,B,C:D,E,F"));
</script>
Если у вас есть объекты, готовые связать значения переменных, вы можете сделать что-то вроде этого:
<script>
function pairup(s, oleft, oright) {
s = s.split(":");
var lhs = s[0].split(",");
var rhs = s[1].split(",");
for (var i = 0; i < lhs.length; i++) {
oleft[lhs[i]] = oright[rhs[i]];
}
}
oleft = {};
oright = { firstName: "F", lastName: "L" };
pairup("givenName,familyName:firstName,lastName", oleft, oright);
alert(oleft.givenName + ", " + oleft.familyName);
</script>