JS学习 day05 数组
一、数组定义
1、一系列有序(索引)的数据集合。
2、格式:[数据1,数据2,…]
3、创建方式:
1)字面量(赋值式)
Var arr = [1,2,3];
2)内置构造函数创建数组
Var arr=new Array(1,2,3);
!!!注意:当括号里只有一个数据时,表示数组长度(length);
4、数组长度length表示数组的长度,即存贮数据数量
二、数据在内存中存贮的区别
1、复杂数据类型
1)对象(狭义的对象、数组)
2)Function
2、栈堆
1)栈:存贮基本数据类型和变量名;
2)堆:存贮复杂数据类型;
!!!注意:当把复杂数据类型当成函数实参传进去时,在函数内部改变形参的值,外部实参的值也会跟着改变。
三、数组的方法
1、Push()
语法:arr.pusn(‘添加内容’);在数组末尾添加元素,返回值为数组length。
2、Pop()
语法:arr.pusn();删除数组最后一个元素,返回值为被删除的元素。
3、Unshift()
语法:arr.unshift(‘添加内容’);在数组的最前面添加元素,返回值为数组length。
4、Shift()
语法:arr.pusn();删除数组第一个元素,返回值为被删除的元素。
5、Splice()
语法1:arr.splice(idx,num);
截取索引从idx开始,num个元素,返回值为数组,被截取的元素。
语法2:arr.splice(idx,num,value);
删除索引从idx开始,num个元素,替换成value。返回值为数组,被截取的 元素。
6、Reverse()
语法:arr.reverse();反转数组、数组倒序。返回值为原数组。
7、Concat()
语法:var res=arr1.concat(arr2);合并arr1,arr2数组。返回值res为合并数组。
8、Sort()
语法:arr.sort();对数组内容排序。返回值为 。
例:arr.sort(function(a,b){
Return a - b;-----从小到大
Return b - a;-----从大都小
})
9、Join()
语法:var res = arr.join();把数组转化为字符串。返回值res为转化后的字符串。
10、indexOf()
语法:arr.indexOf(“判断元素”);判断数组中是否包含某元素。
返回值:有元素返回该元素索引,没有返回-1.
四、冒泡排序
五、选择排序