Все свойства из list перенести в kusts и чтоб этим свойствам переменные назначить.
|
:-?
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> |
Tungusv,
сами свойства это переменные и есть, зачем еще переменные переменных? рони, совсем новое :) а я понять не мог как так что это... Что то не понял как так, в прошлом месяце приняли, а в браузере уже работает? О как прогресс чего достиг, молодцы работают на опережение :D Так! В Firefox не пашет, надо обновиться... SuperZen, JSON.parse(JSON.stringify(list)) это что за фокус? Ааа, типа копия, понял :) |
Rise, чтобы в древнем браузере работало (я про spread operator, и не только =>...) надо через browserify пропустить :)
|
Ещё как вариант
<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> |
Часовой пояс GMT +3, время: 07:08. |