Как добавить пару ключ / значение в объект JavaScript?

Может использовать 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;
    }
1183
задан T.J. Crowder 14 August 2015 в 18:04
поделиться

6 ответов

Есть два способа добавить новые свойства к объекту:

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();
2094
ответ дан 19 December 2019 в 20:14
поделиться
arr.push({key3: value3});
-19
ответ дан 19 December 2019 в 20:14
поделиться

Вы можете добавить его так:

arr['key3'] = value3;

или так:

arr.key3 = value3;

Ответы, предлагающие ввести объект с помощью переменная key3 будет работать, только если значение key3 будет 'key3' .

4
ответ дан 19 December 2019 в 20:14
поделиться
arr.key3 = value3;

потому что ваш arr на самом деле не массив ... Это объект-прототип. Реальный массив будет:

var arr = [{key1: value1}, {key2: value2}];

, но это все равно неверно. На самом деле это должно быть:

var arr = [{key: key1, value: value1}, {key: key2, value: value2}];
30
ответ дан 19 December 2019 в 20:14
поделиться

Вы можете использовать любой из них (при условии, что key3 - это фактический ключ, который вы хотите использовать)

arr[ 'key3' ] = value3;

или

arr.key3 = value3;

Если key3 - переменная, вы должны сделать:

var key3 = 'a_key';
var value3 = 3;
arr[ key3 ] = value3;

После это, запрос arr.a_key вернет значение value3 , литерал 3 .

66
ответ дан 19 December 2019 в 20:14
поделиться

В вашем примере показан объект, а не массив. В этом случае предпочтительный способ добавить поле к объекту - просто назначить ему, например:

arr.key3 = value3;
6
ответ дан 19 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: