Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.07.2018, 12:17
Интересующийся
Отправить личное сообщение для Tungusv Посмотреть профиль Найти все сообщения от Tungusv
 
Регистрация: 02.11.2017
Сообщений: 23

Все свойства из list перенести в kusts и чтоб этим свойствам переменные назначить.
Ответить с цитированием
  #12 (permalink)  
Старый 12.07.2018, 12:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,874


for (let i = 0; i < list.length; i++) kusts[i] = {...list[i]}
Ответить с цитированием
  #13 (permalink)  
Старый 12.07.2018, 14:07
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 214

Сообщение от Rise
Даже проще так наверно)
for (let i = 0; i < list.length; i++) {
    kusts[i] = list[i];
}
так будет скопирована ссылка и если кустс править, то лист тоже поменяется, и наоборот...

<script>
  var list = [
    { 
      Id: 1,
      Name: "name1",
      ShortName: "shortname1",
      ParentID: 11,
      Login: "login1"
    },
    {
      Id: 2,
      Name: "name2",
      ShortName: "shortname2",
      ParentID: 22,
      Login: "login2"
    }
  ]
  var kusts = []
  for (let i = 0; i < list.length; i++) {
    kusts[i] = list[i];
  }
  console.log(kusts);
  kusts[0].Id = 3
  console.log(list)
</script>


Копия:

<script>
  var newO = JSON.parse(JSON.stringify(list))
  for (i in newO) {
    newO[i].Name = 'some new name'
    //n.ShortName = 'some new shortname'
  }
  console.log(newO)
</script>
Ответить с цитированием
  #14 (permalink)  
Старый 12.07.2018, 18:30
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 3,978

Tungusv,
сами свойства это переменные и есть, зачем еще переменные переменных?

рони,
совсем новое а я понять не мог как так что это... Что то не понял как так, в прошлом месяце приняли, а в браузере уже работает? О как прогресс чего достиг, молодцы работают на опережение Так! В Firefox не пашет, надо обновиться...

SuperZen,
JSON.parse(JSON.stringify(list)) это что за фокус? Ааа, типа копия, понял

Последний раз редактировалось Rise, 12.07.2018 в 18:43.
Ответить с цитированием
  #15 (permalink)  
Старый 13.07.2018, 16:17
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 214

Rise, чтобы в древнем браузере работало (я про spread operator, и не только =>...) надо через browserify пропустить
Ответить с цитированием
  #16 (permalink)  
Старый 15.07.2018, 22:36
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

Ещё как вариант
<script>
  var list = [
    { 
      Id: 1,
      Name: "name1",
      ShortName: "shortname1",
      ParentID: 11,
      Login: "login1"
    },
    {
      Id: 2,
      Name: "name2",
      ShortName: "shortname2",
      ParentID: 22,
      Login: "login2"
    }
  ];
  var kusts = [];
  for (let i = 0; i < list.length; i++) {
	kusts[i] = Object.assign({}, list[i]);
  }
  kusts[0].Id = 3;
  alert(`${kusts[0].Id}, ${list[0].Id}`);
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выводить часть элементов страницы через javascript Victim Events/DOM/Window 9 28.12.2011 21:51
как отправить файл через XMLHttpRequest как мультипарт KOLANICH Общие вопросы Javascript 17 14.12.2010 19:02
Как добавить элемент в XML через DOM используя PHP? bayah Серверные языки и технологии 6 11.08.2010 13:33
Как получить объект getElementById через this Polkan Events/DOM/Window 7 24.06.2010 18:00
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25