1、js数组栈方法:
栈方法(四个小宝贝):先进先出 先进后出
var arr = ['刘备', '关羽', '张飞'];
arr.push(参数);
作用:将参数添加到数组的尾部,一次可以添加多个,返回新数组的长度
var n = arr.push('厚良哥', '小二哥');
console.log(arr); //['刘备', '关羽', '张飞', '厚良哥', '小二哥']
console.log(n);
arr.unshift(参数);
作用:将参数添加到数组的头部,一次可以添加多个,返回新数组的长度
var n = arr.unshift('良哥', '小二');
console.log(arr); //['良哥', '小二', '刘备', '关羽', '张飞', '厚良哥', '小二哥']
console.log(n);
arr.pop(参数);
作用:删除数组的最后一项,一次只能删除一个。返回被删除的哪一项
var n = arr.pop();
console.log(arr);
console.log(n); // 张飞
arr.shift(参数);
作用:删除数组的第一项,一次只能删除一个。返回被删除的哪一项
var n = arr.shift();
console.log(arr);
console.log(n); // 刘备
2、arr.concat(参数);
作用:将参数拼接到数组中,参数可以是数组,也可以是单个项。返回拼接以后的新的数组,不影响原数组
var arr1 = [1, 2, 3];
var arr2 = ['a', 'b', 'c'];
var arr = [].concat(arr1, arr2, 'zs', 'ls');
console.log(arr); // [1, 2, 3, 'a', 'b', 'c', 'zs', 'ls']
3、arr.reverse(参数)
作用:将数组反转
var arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]
var str = '我爱你';
// 方式一
console.log(str.split('').reverse().join(''));
// 方式二
var s = '';
for (var i = str.length - 1; i >= 0; i--) {
// console.log(str[i]);
s += str[i];
}
console.log(s);
// 方式三
var array = [];
for (var i = 0; i < str.length; i++) {
// console.log(str[i]);
array.unshift(str[i]);
}
console.log(array.join(''));
4、arr.slice(起始下标, 结束下标);
作用:截取数组,不影响原数组,返回截取的新数组
var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
console.log(arr.slice()); // ['a', 'b', 'c', 'd', 'e', 'f', 'g'] 没有参数,返回全部
console.log(arr.slice(2)); // ['c', 'd', 'e', 'f', 'g'] 有一个参数,从参数处起一直到最后
console.log(arr.slice(2, 5)); // ['c', 'd', 'e'] 有两个参数,从参数处起一直起到第二个参数处止,不包括第二个参数
console.log(arr.slice(5, 2)); // [] 第二个参数比第一个小,返回空数组
console.log(arr.slice(2, -2)); // ['c', 'd', 'e'] 负数和长度相加
5、arr.indexOf(要查找的项[, 查找的起始位置]);
作用:arr.lastIndexOf(要查找的项[, 查找的起始位置]);
var arr = [3, 4, 2, 5, 4, 3, 4, 5];
console.log(arr.indexOf(4)); // 1
console.log(arr.indexOf(4, 2)); // 4
console.log(arr.lastIndexOf(4)); // 6
console.log(arr.indexOf('4')); // -1
6、Array.isArray(参数);
作用:判断是否是数组,如果是数组返回true,否则返回false
console.log(typeof []); // 'object'
console.log(typeof null); // 'object'
console.log(typeof {}); // 'object'
console.log(Array.isArray([])); // true
console.log(Array.isArray(null)); // false
console.log(Array.isArray({})); // false
7、arr.join(‘连接符’)
作用:将数组用连接符拼接成字符串
var arr = ['2020', '10', '12'];
console.log(arr.join('-')); // '2020-10-12'
console.log(arr.join()); // '2020,10,12'
console.log(arr.join('')); // '20201012'