数组如何赋值? var arr1 = new Array(1,4,3,2);var arr2 = arr1;arr1.sort();document.write(arr1);document.write(arr2);为什么arr1排序后,arr2也跟着变呢?如何让arr2保持原来排序? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <html><body><script type="text/javascript">function sortNumber(a, b){return a - b}var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"document.write(arr + "<br />")document.write(arr.sort(sortNumber))</script></body></html> 楼上的乱贴代码~~~找到方法了..var arr1 = new Array(1,4,3,2);var arr2 = arr1.slice(0);arr1.sort();document.write(arr1);document.write(arr2);这样arr2就保持原来的排序了~ 参考:探析 JavaScript 中令人困惑的变量赋值http://www.the6cn.com/web/javascript/872.shtml arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向var arr2 = arr1; 这个是将 arr2指向了arr1 所以 arr1排序, arr2也排序了 因为你的arr2 并没有new一个Array()出来, 实际上是一个数组的指针, 指向的arr1。 数组赋值就是这样的. 不new就是指针. 2L的方法, 实际上slice回来的也是一个new 的array. slice(0);可以new Array(arr1); arr2是指向arr1的引用,因为arr1是一个数组对象。arr2有点像是C++中指针一样的。 如何实现淘宝网上始终保持一个层在底部? 帮忙写个正则吧 求一个正则表达式链接替换函数(100高分) 删除选中的多行? 我想在单击button时,可以改变gridview中的一列的值,使之从1变为2,请问怎么做呢 可以使div响应某个事件并缓慢移动定位吗? 新手问问题,大家多帮忙!(100分)谢谢 如何实现网报表打印? js数组问题 jquery 实现图片的旋转,拖拽,拉伸。 请高人指点 表单处理 window .open得到的效果不一样
<body><script type="text/javascript">function sortNumber(a, b)
{
return a - b
}var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"document.write(arr + "<br />")
document.write(arr.sort(sortNumber))</script></body>
</html>
var arr2 = arr1.slice(0);
arr1.sort();
document.write(arr1);
document.write(arr2);
这样arr2就保持原来的排序了~
arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向
var arr2 = arr1; 这个是将 arr2指向了arr1 所以 arr1排序, arr2也排序了
可以
new Array(arr1);
arr2有点像是C++中指针一样的。