检测是否为数组
instanceof();
var arr = [];
var obj = {};
console.log(arr instanceof Array);
console.log(obj instanceof Array);
isArray();
H5新增方法,ie9版本以上支持使用
var arr = [];
var obj = {};
console.log(Array.isArray(arr));
console.log(Array.isArray(obj));
添加删除数组的方法
方法名 | 说明 | 返回值 |
---|
push(参数1…) | 末尾添加一个或多个元素,注意修改原数组 | 返回新的长度 |
pop() | 删除数组最后一个元素,把数组长度减1,无参数、修改原数组 | 返回它删除的元素的值 |
unshift(参数1…) | 向数组的开头添加一个或更多元素,注意修改原数组 | 返回新的长度 |
shift() | 删除数组的第一个元素,数组长度减1,无参数,修改原数组 | 返回第一个元素的值 |
var arr = [1, 2, 3];
console.log(arr.push(4, 'wwxb'));
console.log(arr);
console.log(arr.unshift(0, 'wwxb'));
console.log(arr);
console.log(arr.pop());
console.log(arr);
console.log(arr.shift());
console.log(arr);
数组排序
方法名 | 说明 | 是否修改为原数组 |
---|
reserve() | 颠倒数组中元素的顺序,无参数 | 该方法会改变原来的数组,返回新数组 |
sort() | 对数组的元素进行排序,只针对个位数 | 该方法会改变原来的数组,返回新数组 |
var arr = [1, 4, 2, 5, 3];
arr.reverse();
console.log(arr);
arr.sort();
console.log(arr);
var arr1 = [1, 44, 12, 5, 3];
arr1.sort();
console.log(arr1);
arr.sort(function (a, b) {
return b - a;
})
console.log(arr);
数组索引方法
方法名 | 说明 | 返回值 |
---|
indexOf() | 数组中查找给定元素的第一个索引 | 如果存在,返回索引号;如果不存在,则返回-1 |
lastIndexOf() | 在数组中的最后一个索引 | 如果存在,返回索引号;如果不存在,则返回-1 |
var arr = ['a', 'b', 'c', 'a', 'b', 'c'];
console.log(arr.indexOf('a'));
console.log(arr.lastIndexOf('a'));
console.log(arr.indexOf('d'));
console.log(arr.lastIndexOf('d'));
数组转化为字符串
方法名 | 说明 | 返回值 |
---|
toString() | 把数组转换成字符串,逗号分隔每一项 | 返回一个字符 |
join(‘分隔符’) | 方法用于把数组中的所有元素转换为一个字符串,分隔符默认为逗号 | 返回一个字符 |
var arr = [1, 2, 3];
console.log(arr.toString());
console.log(arr.join('-'));
其他常用方法
方法名 | 说明 | 返回值 |
---|
concat() | 连接两个或多个数组,不影响原数组 | 返回一个新的数组 |
slice() | 数组截取slice(begin,end) | 返回被截取项目的新数组 |
splice() | 数组删除splice(第几个开始,要删除个数) | 返回被删除项目的新数组。注意,这个会影响原数组 |
var arr1 = [1, 2, 3, 4];
var arr2 = [5, 6, 7, 8];
console.log(arr1.concat(arr2));
console.log(arr1.slice(1, 3));
console.log(arr1);
console.log(arr2.splice(0, 3));
console.log(arr2);