Я пытаюсь создать объекты из списка ключ / значение. Моя проблема в том, что свойства объекта должны быть действительными идентификаторами JavaScript. По крайней мере, с помощью Adobe ExtendScript я могу прекрасно создать объект с неправильным свойством (см. Пример: неправильный ключ -> "-" - литерал недействителен).
var kvp = ["key;value", "wrong-key;value"];
var obj = {};
for (var i = 0 ; i < kvp.length; i++) {
pair = kvp[i].split(";");
obj[pair[0]] = pair[1];
}
alert (obj.key);
alert (obj.wrong-key); // -> Throws an Error
Конечно, я мог бы запустить replace(/-/,"_")
, но есть ли какая-либо функция кодирования / экранирования для достижения этой цели в более общем плане?
спасибо,
Грегор