数组对象
1、检测是否为数组
1、instanceof 运算符
var arr = [];
var obj = {};
console.log(arr instanceof Array);
console.log(obj instanceof Array);
2、Array.isArray(参数)
var arr = [];
var obj = {};
console.log(Array.isArray(arr));
console.log(Array.isArray(obj));
2、添加、删除 数组元素的方法
方法名 | 说明 | 返回值 |
---|
push(参数1…) | 末尾添加一个或多个元素,注意修改原数组 | 返回新的长度 |
pop() | 删除数组最后一个元素,把数组长度减1,无参数,修改原数组 | 返回它删除的元素的值 |
unshift(参数1…) | 向数组的开头添加一个或更多元素,注意修改原数组 | 返回新的长度 |
shift() | 删除数组的第一个元素,数组长度减1,无参数,修改原数组 | 返回第一个元素的值 |
var arr = [1,2,3];
console.log(arr.push(4,'xxx'));
console.log(arr);
arr.unshift('red');
console.log(arr);
console.log(arr.pop());
console.log(arr);
console.log(arr.shift());
console.log(arr);
3、数组排序
方法名 | 说明 | 是否修改原数组 |
---|
reverse() | 颠倒数组中元素的顺序,无参数 | 会修改原数组,返回新数组 |
sort() | 对数组的元素进行排序,里面跟一个排列顺序方法 | 会修改原数组,返回新数组 |
var arr = [1, 2, 3, 4, 5];
arr.reverse();
console.log(arr);
var arr1 = [6, 13, 3, 7, 5];
arr1.sort(function (a, b) {
return b - a;
});
console.log(arr1);
4、数组索引方法
方法名 | 说明 | 返回值 |
---|
indexOf(元素) | 数组中查找给定元素的第一个索引 | 如果存在返回索引号,如果不存在,则返回-1 |
lastIndexOf(元素) | 在数组中的最后一个的索引 | 如果存在返回索引号,如果不存在,则返回-1 |
var arr = ['red','green','blue','pink','blue'];
console.log(arr.indexOf('blue'));
console.log(arr.indexOf('yellow'));
console.log(arr.lastIndexOf('blue'));
console.log(arr.lastIndexOf('yellow'));
5、数组转换为字符串
方法名 | 说明 | 返回值 |
---|
toString() | 把数组转换成字符串,逗号分隔每一项 | 返回一个字符串 |
join(‘分隔符’) | 方法用于把数组中的所有元素转换为一个字符串 | 返回一个字符串 |
var arr = [1,2,3];
console.log(arr.toString());
console.log(arr.join('-'));
6、数组连接、截取、删除
方法名 | 说明 | 返回值 |
---|
concat() | 连接两个或多个数组,不影响原数组 | 返回一个新数组 |
slice() | 数组截取slice(begin,end) | 返回被截取项目的新数组 |
splice() | 数组删除splice(第几个开始,要删除个数) | 返回被删除项目的新数组,注意:这个会影响原数组 |