通过函数参数重置一个数组
这个问题在这里已经有了答案:
user3378165
给出了正确的答案:
<script>
fruitArray = ["apple", "banana", "orange", "pineapple"];
function newFruit(myArray){
myArray.length = 0;
}
newFruit(fruitArray);
alert(fruitArray[0]);//Returns "apple"
</script>
实际上,问题在于by value
主题,您可以在这里了解更多信息: 实际上,这意味着如果您自己更改参数(如您所做的那样),那么这不会影响馈送到参数中的项目。 但是如果你改变了参数的内部参数(array.length = 0),那会传播回去
这样做。 将长度设置为0
myArray.length = 0
你不需要为你的数组设置你所做的改变,你发送给newFruit
函数一个数组,你改变了它,但是这与你的 fruitArray
没有任何关系。
所以你所要做的就是从函数return
已更改的数组,并set
你的fruitArray
函数returned
的数组,如下所示:
fruitArray = ["apple", "banana", "orange", "pineapple"]
function newFruit(myArray){
myArray = [];
return myArray;
}
fruitArray = newFruit(fruitArray);
alert(fruitArray[0]);//Returns "undefined" because there is no a [0] place in the fruitArray.
alert(fruitArray);//Returns ""-empty array.
链接地址: http://www.djcxy.com/p/23957.html
上一篇: Reset an array through function parameter
下一篇: On change delete everything in array and add new values in it