Maison > Questions et réponses > le corps du texte
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]
世界只因有你2017-07-05 10:41:07
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.
sort
changera le tableau d'origine
Pour résumer les deux points ci-dessus, changer d'arr changera naturellement d'arrnew
習慣沉默2017-07-05 10:41:07
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];