数组a可以连接但是不能颠倒数组元素顺序?
var myarr1 = ["我","爱","你"]; var a = [myarr1.join("")]; document.write(" 数组a的长度: "+a.length + "<br/>"); //这里我们可以看到数组a的长度只有1,也就是只有 我爱你 这个元素 document.write("新数组的内容:" + a.concat(3) + "<br/>"); //这里使用concat()方法链接了一个3进去,产生一个新的数组,有两个元素,我爱你,3 document.write(" 数组a的内容: "+a +" 数组a的长度: "+a.length + "<br/>");//这里看出来,数组a并没有改变 document.write(a.reverse()+"<br/>");//这里数组a只有一个元素,reverse()方法是没有任何变化的 var b = a.concat(3);//数组b的内容是我爱你,3 document.write(b.reverse());//这样就能实现颠倒顺序的效果了
concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。
要注意concat()这个方法不会改变原来的数组
使用join()方法就是得到一个字符串,所以你的a 为一个长度为1的数组,因此reverse()结果一样
去掉中括号即可食用
myarr1.join返回一个字符串,所以a为长度为1的数组.
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本.
所以a还是只有1的长度,所以反转不了。