javascript - Masalah tugasan tatasusunan
高洛峰
高洛峰 2017-07-05 10:39:07
0
4
639

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]

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(4)
世界只因有你
  1. Tatasusunan juga merupakan objek dan jenis rujukan Apabila menetapkan, alamat ditetapkan dan objek baharu tidak akan diklon untuk tugasan.

  2. sort akan menukar tatasusunan asal

Untuk 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:

let arrnew = [...arr];
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan