Mengapa menetapkan nilai arr kepada arrnew? Mengapa arrnew berubah apabila arr berubah? Jika anda mahu arrnew mendapatkan data arr, bagaimanakah anda harus menulisnya tanpa mengikuti operasi selepas arr?
let arr=[1,2,3,4,5]
let arrnew=arr
arr=arr.sort((a,b)=>{return b-a})
console.log(arr)//[ 5, 4, 3, 2, 1]
console.log(arnew)//[5, 4, 3, 2, 1]
Tatasusunan juga merupakan objek dan jenis rujukan Apabila menetapkan, alamat ditetapkan dan objek baharu tidak akan diklon untuk tugasan.
sort
akan menukar tatasusunan asalUntuk meringkaskan dua perkara di atas, menukar arr secara semula jadi akan berubah arrnew
biar arrnew = arr.slice()
Artikel ini akan sangat membantu anda! klik saya
Tugasan anda kepada
arrnew
hanyalah rujukan kepada alamat.Jika anda ingin menyalin tatasusunan, anda boleh menggunakan pengendali penyebaran, seperti berikut: