Может использовать generics для объединения массивов. Следующий код можно легко расширить до трех массивов. Таким образом, вам не нужно дублировать код для разных типов массивов. Некоторые из приведенных выше ответов кажутся мне слишком сложными.
private static T[] CombineTwoArrays<T>(T[] a1, T[] a2)
{
T[] arrayCombined = new T[a1.Length + a2.Length];
Array.Copy(a1, 0, arrayCombined, 0, a1.Length);
Array.Copy(a2, 0, arrayCombined, a1.Length, a2.Length);
return arrayCombined;
}
Есть два способа добавить новые свойства к объекту:
var obj = {
key1: value1,
key2: value2
};
obj.key3 = "value3";
obj["key3"] = "value3";
Первая форма: используется, когда вы знаете название собственности. Вторая форма используется, когда имя свойства определяется динамически. Как в этом примере:
var getProperty = function (propertyName) {
return obj[propertyName];
};
getProperty("key1");
getProperty("key2");
getProperty("key3");
реальный массив JavaScript может быть построен с использованием одного из следующих способов:
var arr = [];
var arr = new Array();
Вы можете добавить его так:
arr['key3'] = value3;
или так:
arr.key3 = value3;
Ответы, предлагающие ввести объект с помощью переменная key3
будет работать, только если значение key3
будет 'key3'
.
arr.key3 = value3;
потому что ваш arr на самом деле не массив ... Это объект-прототип. Реальный массив будет:
var arr = [{key1: value1}, {key2: value2}];
, но это все равно неверно. На самом деле это должно быть:
var arr = [{key: key1, value: value1}, {key: key2, value: value2}];
Вы можете использовать любой из них (при условии, что key3 - это фактический ключ, который вы хотите использовать)
arr[ 'key3' ] = value3;
или
arr.key3 = value3;
Если key3 - переменная, вы должны сделать:
var key3 = 'a_key';
var value3 = 3;
arr[ key3 ] = value3;
После это, запрос arr.a_key
вернет значение value3
, литерал 3
.
В вашем примере показан объект, а не массив. В этом случае предпочтительный способ добавить поле к объекту - просто назначить ему, например:
arr.key3 = value3;