数组操作解析

血红的双手。 提交于 2020-01-24 00:24:08

 数组操作解析:

 var arr = [1, 3, 5, 7, 4];
    brr=arr;  //简单类型存储的是值本身,复杂类型存储的是地址,
              //如果把第一个对象赋值给另一个变量,此时两个变量会指向同一个对象。
              //如果修改对象里面的键值对,对应的变量都会改变
    arr[6] = "w";//如果下标是已经存在的,那赋值操作就是修改数组元素的值,如果下标是不存在,那赋值操作就给数组添加元素。
    console.log(arr,brr)//arr= [1, 3, 5, 7, 4, empty, "w"]; brr= [1, 3, 5, 7, 4, empty, "w"];
    var crr=arr.reverse()//反转数组,返回新数组
    var drr=brr.concat(crr);
    console.log(drr)  //["w", empty, 4, 7, 5, 3, 1, "w", empty, 4, 7, 5, 3, 1]

上面例子中涉及了数组操作的两个知识点:

1,数组的存储空间(栈内存和堆内存,有时间再整理,两者的区别),在这里只是简单的理解。简单类型传递值,复杂类型传递地址。如果把第一个对象赋值给另一个变量,此时两个变量会指向同一个对象。如果修改对象里面的键值对,对应的变量都会改变

2,数组基本操作。

push :  从后面添加元素,返回新数组的length。    
pop:    从数组的后面删除元素,返回删除的那个元素。
unshift:从数组的前面的添加元素,返回新数组的长度。
shift:  从数组的最前面删除元素,返回删除的那个元素。                                                                           

splice: 数组任意地方删除或者添加元素。         
concat: 数组合并,不会影响原来的数组,会返回一个新数组。                                                                          

sort:   数组的排序 ,默认按照 字母/首字符顺序排序 。                                                                           

reverse:翻转数组。                                              
join(分隔符):  将数组的值拼接成字符串,并且返回字符串。

                         

 

 

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!