Javascript 变量复制错误的内容

Javascript 变量复制错误的内容,javascript,function,variables,Javascript,Function,Variables,这是所有的js代码,当我控制台记录原始变量时,它返回洗牌组,我不明白,我是js新手,我已经尝试过了。但我真的不知道它是如何工作的,而且,如果你们不介意我问的话,var和let之间有什么区别?多谢各位 函数drawDeck(){ var deck=[] var值=[2,3,4,5,6,7,8,9,10,10,10,11] 对于(var i=0;i,shuffle函数对输入元素本身进行操作。由于您向shuffle函数输入了raw,它本身将被修改,因此您在记录它时会得到shuffled数据组。它是否

这是所有的js代码,当我控制台记录原始变量时,它返回洗牌组,我不明白,我是js新手,我已经尝试过了。但我真的不知道它是如何工作的,而且,如果你们不介意我问的话,var和let之间有什么区别?多谢各位

函数drawDeck(){
var deck=[]
var值=[2,3,4,5,6,7,8,9,10,10,10,11]

对于(var i=0;i,shuffle函数对输入元素本身进行操作。由于您向shuffle函数输入了raw,它本身将被修改,因此您在记录它时会得到shuffled数据组。它是否返回并不重要

如果要保留原始数组,请将数组克隆到shuffle函数中的一个新变量,然后在克隆上执行shuffly并返回该变量

var raw=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
var洗牌;
函数shuffleDeck(组){
var currentPos=甲板长度,
坦波斯,兰波斯
var tempDeck=Array.from(deck);
而(当前位置!=0){
randPos=数学地板(数学随机()*currentPos)
currentPos-=1
tempPos=tempDeck[currentPos]
临时甲板[currentPos]=临时甲板[randPos]
tempDeck[randPos]=tempPos
}
返回临时甲板
}
洗牌=洗牌(原始);
警报(“原始:”+原始);

警报('shuffled:'+shuffled);
您已登录控制台变量
raw
,该变量调用函数
drawDeck()
。这看起来没问题,您想在这里得到什么?这篇文章讨论了differize let和var。如果您能解释一下您想对代码做什么,我们可以帮助您编辑代码。。。