Не отображается value: 3 в объекте

194
24 марта 2018, 18:19

JS

var array = []; 
 
function arrayToList(array) { 
  let list = {} 
  Object.assign(list, { 
    value: array[0] 
  }, { 
    rest: { 
      value: array[1], 
      rest: { 
        value: array[2], 
        rest: null 
      } 
    } 
  }); 
  return list; 
}; 
 
console.log(arrayToList([1, 2, 3]));

Answer 1

В спецификации сказано:

Метод Object.assign() копирует из исходных объектов в целевой объект только перечисляемые и собственные свойства.

Поэтому то что вы делаете, невозможно.

upd https://stackoverflow.com/questions/27936772/how-to-deep-merge-instead-of-shallow-merge

Answer 2

Можно воспользоваться библиотекой lodash, в ней есть разные вариации копирования объектов (например, _.cloneDeep)

READ ALSO
Chrome вытянуть ip

Chrome вытянуть ip

ЗдравствуйтеЕсть расширения для браузера хром с поддержкой изменения ip

181
Заполненный массив имеет длину 0

Заполненный массив имеет длину 0

Здравствуйте, я хочу сделать запрос в запросеСначала делаю запрос, получаю от сервера данные, в них имеется адрес в формате долгота/широта,...

206
Vue обновление computed

Vue обновление computed

У меня есть такие вычисляемые свойства и методы:

164
изменить текст на кнопке

изменить текст на кнопке

Ребят подскажите, нужно при отправке данных, пока форма грузиться , отключить кнопку, инпут файл и изменить текст на кнопкеформа:

225