Как можно установить свойство с тем же именем без изменения существующего значения - PullRequest
0 голосов
/ 18 октября 2019

Используя JavaScript, как я могу установить свойство объекта, у которого уже есть свойство с тем же именем? Например, я хочу вывести:

var obj = {
    name: "foo"
};

obj[name] = "baz";

Обычный вывод:

console.log(obj) => {name:baz}.

Я хочу вывести:

console.log(obj) => {name:foo,name:baz}.

Я знаю, что это не лучшая практика, но возможно ли это?

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

Вы просто не можете этого сделать. Последнее значение свойства всегда будет переопределять предыдущее.

Даже объединение объектов с одинаковыми именами свойств вам не поможет - мелкое слияние или глубокое слияние.

Однако естьНесколько очень странных случаев с некоторыми фреймворками JavaScript, где это может произойти - например, в Vue.js. Но это упускает из виду то, что мы рассматриваем только простой Javascript.

0 голосов
/ 18 октября 2019

Вы можете прочитать о основных понятиях js , а также об основных типах данных в программировании, таких как Карты и Массивы.

Я могу попытаться угадать, что ваша задача - сохранить некоторые подобные данныеструктуры в массиве:

var list = [{name:'foo'},{name:'baz'}]
...