Здравствуйте. Подскажите в чем разница этих методов копирование массива? Допустим есть объект
constructor(props) {
super(props)
this.state = {
arr: [
{ name: 'samsung', year: 2020, price: 350$ },
{ name: 'apple', year: 2020, price: 500$},
{ name: 'Xiaomi', year: 2019, price: 200$},
{ name: 'Xiaomi Mi2', year: 2019, price: 300$},
],
showCard: false
}
}
И я хочу копировать массив
const arr1 = JSON.parse(JSON.stringify(this.state.arr))
const arr2 = this.state.arr.slice()
const arr3 = [...this.state.arr]
const arr2 = this.state.arr.concat()
В чем принципиальные различия этих методов? Видимых изменений в программе не заметил.