数字和字符串 与 数组 使用实例方法时的差别

  在数字和字符串中的实例方法不会改变其本身的值;

  

  而数组对象可能会改变原数组的值;    

            从此延申出一个问题?

            数组方法会改变原数组的是  (继承上篇博客 什么是静态方法 ———— 静态方法 - 的参数,

                                    需要把 变量本身,以实参的形式传进去)

                会改变原数组的有:  1·push()  是用来在数组的末尾追加一个元素

                            2·pop()   是用来删除数组末尾的一个元素

                            3·unshift()   是在数组的最前面添加一个元素

                            4`shift()   是删除数组最前面的一个元素

                            5`splice()   是截取数组中的某些内容,按照数组的索引来截取

                                 splice 的使用方法(哪一个索引位置开始,截取多少个,

                                                  替换的新元素)

                            6·reverse    是用来反转数组使用的

                             7·split   方法用于把一个字符串分割成字符串数组。

                            8`sort   是用来给数组排序的

                               { 

                                  如果单独使用sort()来对函数操作 是进行的 

                                         ASCLL的值进行比较的 

                                    var arr2 = [20,13,11,8,0,11];
                                    arr2.sort();
                                    console.log(arr2); //[0,11,11,13,20,8]
                                   先比较第一位 从小到大  
                                第一位相同的时候在比较第二位 如例题中的 11, 11, 13
                                    因为是对ascll码值
                                   --------------------------------------------------------------------------------------------------------------
                                    使用sort()来对数组进行升序排列
                                            (或降序排列的方法):

                                      var arr2 = [20,13,11,8,0,11];

                                        //按升序排列

                                      arr2.sort(function(a,b){
                                      //a,b表示相邻的两个元素
                                      //若返回值>0,数组元素将按升序排列
                                      //若返回值<0,数组元素将按降序排列
                                       return a-b;  计算的acsll码值
                                       });
                                    console.log(arr2); //[0,8,11,11,13,20]; 新数组按升序排列

     

                                }

 

  数组方法不会改变原数组的有    1`concat 是把多个数组进行拼接   var arr = [1, 2, 3]

                                      var newArr = arr.concat([4, 5, 6])

                                    console.log(arr) // [1, 2, 3]

                                     console.log(newArr) // [1, 2, 3, 4, 5, 6]

                  2`join 是把数组里面的每一项内容链接起来,变成一个字符串  var arr = [1, 2, 3]

                                              var str = arr.join('-')

                                     这在引号里写啥都行 直接 ‘ ’ 空字符也ok

                                              console.log(arr) // [1, 2, 3]

                                              console.log(str) // 1-2-3

                                                            

     

posted @ 2022-08-23 19:46  lknmn  阅读(36)  评论(0)    收藏  举报