栈结构
栈结构:从一个口进,从同一个口出。
【特点】先进后出
- push()
【格式】数组.push(元素…);
【功能】给数组末尾添加元素
【参数】我们要添加的元素,参数个数随意
【返回值】添加元素以后,数组的长度
var arr = ["Lily", "John", "Jerry"];
var res = arr.push("Jack", "Tom");
alert(arr); //Lily,John,Jerry,Jack,Tom
alert(res); //5
- pop()
【格式】数组.pop();
【功能】移除数组末尾的最后一个元素
【返回值】移除的元素
var arr = ["Lily", "John", "Jerry"];
var res = arr.pop();
alert(res); //Jerry
alert(arr); //Lily,John
队列结构
队列结构:从一头进,从另外一头出
【特点】先进先出
- push()
- shift()
【格式】数组.shift();
【功能】从数组的头部取下一个元素
【返回值】取下元素
var arr = ["Lily", "John", "Jerry"];
var res = arr.shift();
alert(arr); //Lily,John
alert(res); //Jerry
- unshift()
【格式】数组.unshift(参数…);
【功能】从数组的头部插入元素
【参数】我们插入数组的元素,参数的个数随意
【返回值】插入元素以后,数组的长度
var arr = ["Lily", "John", "Jerry"];
var res = arr.unshift("Jack", "Tom");
alert(arr); //Jack,Tom,Lily,John,Jerry
alert(res); //5
数组的其他方法
- concat()
【格式】数组1.concat(数组2);
【功能】将两个数组合并成一个新数组,源数组并不会被改变
【参数】我们要合并的数组
【返回值】我们合并好的新数组
var arr1 = ["Lily", "John"];
var arr2 = ["Jack", "Jerry"];
var arr = arr1.concat(arr2);
alert(arr); //Lily,John,Jack,Jerry
alert(arr1); //Lily,John
alert(arr2); //Jack,Jerry
- slice()
【格式】数组.slice(start, end);
【功能】基于当前数组获取指定区域元素并创建一个新数组。源数组不改变
【参数】start开始获取区域的下标,end结束获取区域的下标,不包括end下标位置的元素
【返回值】指定区域元素生成的新数组
var arr = ["Lily", "John", "Jack", "Jerry"];
var newArr = arr.slice(1, 3);
alert(newArr); //John,Jack
alert(arr); //Lily,John,Jack,Jerry
- splice()
【格式】数组.splice(start, length, 元素…);
【功能】可以完成删除,插入,替换操作
【参数】参数1 截取的开始下标
参数2 截取的长度
参数3
在截取的开始下标位置,我们要插入的元素,插入的元素的个数随意
【注】会对元素组进行修改
【返回值】截取掉的元素,组成的数组
var arr = ["Lily", "John", "Jack"];
//删除功能
arr.splice(1, 1);
var res= arr.splice(1, 1);
alert(res); //John
alert(arr); //Lily,Jack
//插入功能
var res = arr.splice(1, 0, "Jerry");
alert(arr); //Lily,Jerry,John,Jack
alert(res); // (返回值为空的)
//替换功能(先删除,然后再插入)
arr.splice(1, 1, "Jerry");
alert(res); //Lily,Jerry,Jack
alert(arr);
- join()
【格式】数组.join(拼接符);
【功能】使用拼接符将数组中元素拼接成字符串
【参数】拼接符
【返回值】拼接好的字符串
var arr = [1, 2, 3];
var str = arr.join("+ss");
alert(str); //1+ss2+ss3