数组
基本含义就是一组数据
它可以存放一组数据(一般是同种数据类型),并且可以增删改查,可以调用
定义方式
方式一 : var arr = new Array(参数,参数,...); 注意,这里用的括号
方式二 :var arr = [参数1,参数2,.... ,参数3]; 注意,这里用的[ ]
数组元素的获取
通过下标 arr[ i ]中的i,i从0开始,arr[ 0 ]代表数组中第一个元素,arr[ 1 ]代表数组中第二个元素,以此类推
下标可以使用字符串 如 arr[ "0" ]
数组有长度,其长度就是数组元素的个数,例如有5个元素,其长度就是5
素组长度通过 .length获取 如:arr.length 就代表arr数组的长度
注意:数组长度不仅可读,还可写,例如arr有3个元素,arr.length=2,数组下标i就只有0,1了
var colors = new Array("red", "blue", "green");
colors.length = 2;
console.log(colors[2]);
无法获取green了
数组的增删改查
增
push arr.push( ) 括号内一般不写东西 从数组的后面添加元素
unshift arr.unshift( )从数组的前面添加元素
删
pop arr.pop( ) 从数组的后面删除元素
shift arr.shift( ) 从数组的前面删除元素
栈方法 push() pop()
排序方法 shift() unshift()
改
reverse arr.reverse( ) 将数组逆排序
sort arr.sort( ) 将数组以第一个元素的ASCII码为基础进行从小到大排序,如果arr=[1,2,3,4,80]这样,个位数字的ASCII码比两位数字的要大,排序就会有问题,需要在sort()内加上一个函数
var arr = new Array()
arr = [1, 2, 3, 4, 20]arr.sort(
function name(a,b) {
return a-b;
}
)
console.log(arr);
数字就会从小到大排序,将a-b改为b-a就会从大到小排序
基础排序算法
冒泡排序
var arr = [66, 44, 2, 0, 3, -1, 3, 145, 6, 4]
for (i = 0; i < arr.length - 1; i++) {
for (j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] >= arr[j + 1]) {
var num = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = num;
}
}
}
console.log(arr);