javascript - Problème d'affectation de tableau
高洛峰
高洛峰 2017-07-05 10:39:07
0
4
641

Pourquoi attribuer la valeur de arr à arrnew ? Pourquoi arrnew change-t-il lorsque arr change ? Si vous voulez qu'arrnew récupère les données de arr, comment les écrire sans suivre l'opération après 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(arrnew)//[5, 4, 3, 2, 1]

高洛峰
高洛峰

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

répondre à tous(4)
世界只因有你
  1. Les tableaux sont également des objets et des types de référence lors de l'attribution, l'adresse est attribuée et un nouvel objet ne sera pas cloné pour l'affectation.

  2. sort changera le tableau d'origine

Pour résumer les deux points ci-dessus, changer d'arr changera naturellement d'arrnew

世界只因有你

let arrnew = arr.slice()

小葫芦

Cet article vous sera d’une grande aide ! cliquez-moi

習慣沉默

Votre assignation à arrnew n'est qu'une référence à l'adresse.

Si vous souhaitez copier un tableau, vous pouvez utiliser l'opérateur spread, comme suit :

let arrnew = [...arr];
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal