1.队列方法:先进先出
shift():移除数组中的第一个项,并返回该项
unshift():在数组的前端添加任意多个项,并返回数组的长度
关注的点:原数组会不会发生改变
总结:先进先出增加在数组的头部
<script type="text/javascript">
// shift
var arr = ['a','b','c'];
console.log('原数组的内容是:'+arr);
console.log('原数组的长度是:'+arr.length) //3
var arr1 = arr.shift(); //a
console.log('原数组使用了shift()方法后获得:'+arr1); //a
console.log('原数组的内容变成:'+arr); //b,c
// unshift
var arr2 = [1,5];
var arr_length = arr.unshift('a1','b1',arr2);
console.log('原数组增加元素之后为:'+arr); // a1,b1,1,5,b,c
console.log('原数组的长度为:'+arr_length);// 5 将arr2看做一个整体,计算一个长度
</script>
2.进出栈:后进先出
push():入栈,在栈顶添加指定的元素,并返回新的长度
pop():出栈,删除并返回栈顶的元素(删除的是数组的最后一位)
栈顶:数组的尾部
总结:给指定数组的末尾添加内容
增加在尾巴用push;增加在头部用unshift
<script type="text/javascript">
var arr3 = ['d','e','f']
var arr4 = ['张三','李四']
// push
var arr3_push = arr3.push(1,2,3,arr4);
console.log('push方法得到的结果是:'+arr3_push); // 7
console.log('原数组增加后为:'+arr3); // d,e,f,1,2,3,张三,李四
// pop
console.log('pop方法得到的结果是:'+arr3.pop()); // 张三,李四
</script>
3.位置方法
indexOf():接收两个参数,要查找的项目,查找起点的位置索引(可选)
indexOf(arg1,arg2)
arg1:参数一 在指定数组中要找的项
arg2:参数二 在指定数组中什么位置开始找
找到之后返回的值是:项的下标
没找到之后返回的是:-1
lastlndexOf():接收两个参数,要查找的项目,查找起点的位置索引(可选)
可返回一个指定的字符串值最后出现的位置,
在一个字符串中的指定位置从后向前搜索。
两个函数都是返回要查找的项在数组中的位置,在没有找到的情况下返回-1。
在比较第一个参数与数组中的每一个项时,使用全等操作符
<script type="text/javascript">
var arr5 = ['d', 'e', 'f', 1, 2, 3, '张三', '李四'];
// 不写第二位默认从0开始
console.log('indexOf返回的是项的下标:' + arr5.indexOf(3));
// 写上分隔符不写第二位也是默认第二位从0开始
console.log('indexOf返回的是项的下标:' + arr5.indexOf(3,));
// 规定一个起始位置
console.log('indexOf返回的是项的下标:' + arr5.indexOf(3,2));
// 该起始位置和查找元素位置一样,判断是否确定从该位开始
console.log('indexOf返回的是项的下标:' + arr5.indexOf(3,5));
// 开始位置越过了要查找的位置,从而找不到,返回-1
console.log('indexOf返回的是项的下标:' + arr5.indexOf(3,6));
var arr6= ['d', 'e', 'f', 1, 2, 3, '张三',2, '李四'];
console.log('lastIndexOf返回的下标是:'+arr6.lastIndexOf(2,-1));
// 已知一个数组 求2所对应的下标分别是多少,总共出现过几次
var arr_index = [1,2,3,3,2,1,1,2,3,4,5,6,7];
var cat = 0;
var arr8 = []
for (i=0;i<=arr_index.length;i++){
if(arr_index[i]==2){
cat++;
arr8.push(i);
}
}
console.log('符合需求的下标分别是:'+arr8);
console.log('2总共出现过'+cat+'次');
</script>