Rumah > Soal Jawab > teks badan
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]
世界只因有你2017-07-05 10:41:07
Tatasusunan juga merupakan objek dan jenis rujukan Apabila menetapkan, alamat ditetapkan dan objek baharu tidak akan diklon untuk tugasan.
sort
akan menukar tatasusunan asal
Untuk meringkaskan dua perkara di atas, menukar arr secara semula jadi akan berubah arrnew
習慣沉默2017-07-05 10:41:07
Tugasan anda kepada arrnew
hanyalah rujukan kepada alamat.
Jika anda ingin menyalin tatasusunan, anda boleh menggunakan pengendali penyebaran, seperti berikut:
let arrnew = [...arr];