数组的操作方法
数组的操作方法:
var arrA = [1,2,3,4,5,11];
var arrB = [6,7,8];
1、栈方法
栈 :一个出入口,先进后出。
特点:1、操作数组的末端。
2、改变原来的数组。
1.1、 push():增
从数组末端添加元素,返回的是(新数组长度),改变原数组
var arr1 = arrA.push("6");
console.log("arr1 :"+arr1 );
1.2、 pop():删
从数组末端删除元素,返回的是(删除的元素),改变原数组
var arr2 = arrA.pop("6");
console.log("arr2 :"+arr2 );
2、队列方法
队列:一个进口,一个出口,先进先出
特点:1、操作数组的头部
2、改变原来的数组
2.1、 unshift():增
从数组的头部添加元素, 返回的是(新数组的长度),改变原数组
var arr3 = arrA.unshift("6");
console.log("arr3 :"+arr3 );
2.2、shift():删
从数组的头部删除元素, 返回的是(删除的元素),改变原数组
var arr4= arrA.shift("6");
console.log("arr4:"+arr4);
3、reverse()、逆向排序,
改变原数组
var arr5= arrA.reverse();
console.log("arr5:"+arr5);
4、 sort():升序排序,不是冒泡排序,有区别!!
改变原数组
var arr6 = arrA.sort();
console.log("arr6:"+arr6);
5、slice(1,3)、提取元素,不改变原数组
有两个参数,表示数组的下标。
第一个参数表示开始,
第二个参数表示结束。
即从下标1的位置开始提取元素,包含下标1的元素,但不包含下标3的元素。
返回的是(提取的元素),不改变原数组
var arr7 = arrA.slice(1,3);
console.log("arr7:"+arr7);
6、splice()
6.1、删除
splice(1,3)
只有两个参数时,且第二个参数不为0时,表示删除元素。
第一个参数表示开始,
第二个参数表长度(元素个数)。
即从下标1的位置开始,删除3个元素,包含下标1。
返回的是(删除的元素),改变原数组。
var arr8 = arrA.splice(1,3);
console.log("arr8:"+arr8);
6.2、替换
splice(1,3,"A")
有三个参数,
第一个参数表示开始,
第二个参数表示长度(不为0)。
第三个参数表示替换的元素。
即在下标1开始的位置,把包含下标1在内的3个元替换成一个"A"。
返回的是(被替换的元素),改变原数组
var arr9 = arrA.splice(1,3,"A");
console.log("arr9:"+arr9);
6.3、插入
splice(1,0,"a")
有三个参数,
第一个参数表示开始,
第二个参数为0。
第三个参数表示替换的元素。
即在下标1开始的位置,把包含下标1在内的3个元替换成一个"a"。
返回的是(一个空数组),改变原数组
var arr10 = arrA.splice(1,0,"a");
console.log("arr10:"+arr10);
7、concat()
两个数组拼接,不改变原数组
var arr11 = arrA.concat(arrB);
console.log("arr11:"+arr11);
8、join()
改变数组的分隔符,改变原数组
var arr12 = arrA.join("*");
console.log("arr12:"+arr12);
// console.log("arrA:"+arrA);
9、数组的排序:
1、冒泡排序(从小到大,升序)
2、选择排序(从大到小,降序)