Иногда мне нужен более сложный объект в JavaScript, и я обычно делаю что-то вроде этого.javascript, могу ли я сделать это в одной декларации/строке?
var myVar = ArrayWithMetaData(GetStringArray(),{description: "These are numbers", ...});
function ArrayWithMetaData(arr, params){
var temp = params;
for(var i = 0; i < arr.length; i++)
temp[i] = arr[i];
return temp;
}
//TODO: Returns an array i.e. ["one", "two", "three"], may be very large
function GetStringArray() {}
Есть ли более короткий способ выполнения этого или есть библиотека, которая обеспечивает аналогичную функциональность?
Кроме того, есть ли имя для этого типа переменной javascript?
* «Еще один вариант - определить объект с прямым json ...» * Это не JSON, это инициализатор объектов JavaScript; вы не используете JSON непосредственно в JavaScript-коде. JSON - это текстовая нотация, используемая * вне * исходного кода (например, в файлах данных или по-проводной). Если он * был * JSON, это было бы неверно (и JSON требует, чтобы ключи ["description" и "values"] находились в двойных кавычках). –
справедливо - я добавил цитаты. –
Но дело в том, что это не JSON. (Даже с кавычками.) Призывая его, JSON вводит в заблуждение. (Не по-крупному злобному пути, вы понимаете, в способе увековечивания недоразумений.) –