问答详情
源自:7-20 颠倒数组元素顺序reverse()

数组a可以连接但是不能颠倒数组元素顺序?

数组a可以连接但是不能颠倒数组元素顺序?https://img2.mukewang.com/5b6e812700014df505680280.jpg

提问者:balla 2018-08-11 14:25

个回答

  • Micheal_Gao
    2018-11-02 17:25:40

    https://img.mukewang.com/5bdc17930001876014080278.jpg

    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()这个方法不会改变原来的数组

  • 慕设计2718092
    2018-10-24 15:14:35

    使用join()方法就是得到一个字符串,所以你的a 为一个长度为1的数组,因此reverse()结果一样

  • 淅沥沥下雨
    2018-10-24 09:13:01

    去掉中括号即可食用

  • mukewzh
    2018-08-11 15:06:47

    myarr1.join返回一个字符串,所以a为长度为1的数组.

    concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本.

    所以a还是只有1的长度,所以反转不了。