小程序为什么数组操作情况会这样呢

在js里面
let rankList=this.data.rankList;
let score=n;
let index=999;
for(let i=5;i>=0;i--){
if(score>rankList[i].score){
index=i;
let obj;
if(index!=0){
obj=rankList[index-1];
rankList[index]=obj;
}
}
}

rankList[index].avatarUrl=app.globalData.userInfo.avatarUrl;
rankList[index].name=app.globalData.userInfo.nickName;
rankList[index].score=Number(score);

大概分数在这数组是这样的[6,5,4,3,2,1]
按照这样的理解如果输入score=4.5,应该变成[6,5,4.5,4,3,2]
但是无论是在①还是②处打印出来的都是[6,4.5,4.5,4,3,2]
这是为什么呢?
与数据结构的引用有关吗

看不懂问题,建议重新组织下语言

img


确定这个n不会报错?