目录
数组对象的创建
字面量创建
var arr = [1,2,3];
console.log(arr[2]);
new Array()
创建新数组:var arr = new Array();
var arr1 = new Array(2);
console.log(arr1); //输出Array(2) 两个空的元素,数组长度为2
var arr2 = new Array(2,3);
console.log(arr2); //输出[2,3] 有两个数组元素,里面有2,3两个数字
检测是否为数组
instanceof
运算符,可以用来检测是否为数组
var arr = [];
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //false
Array.isArray(参数)
console.log(Array.isArray(arr)); //true
console.log(Array.isArray(abj)); //false
添加元素方法
push()
在数组的末尾添加一个/多个数组元素(追加)
参数为数组元素
返回值为新数组的长度
元素组也会发生变化
var arr = [1,2,3];
arr.push(4);
arr.push(4,'computer');
console.log(arr.push(4,'computer')); //5
unshift
在数组开头添加一个/多个元素
arr.unshift('red');
删除元素方法
pop()
删除数组的最后一个元素
不接参数
返回值为删除的值
arr.pop();
console.log(arr.pop); //返回删除的值
shift()
删除数组的最后一个元素
筛选数组
var arr = [1000, 2000, 1800, 2100, 1500];
var newArray = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] < 2000) {
// newArray[newArray.length] = arr[i]; 旧版
newArray.push(arr[i]);
}
}
数组排序
翻转数组
使用arr.reverse();翻转数组
var arr = ['pink', 'red', 'blue'];
arr.reverse();
console.log(arr);
数组排序(冒泡)
var arr1 = [3, 4, 7, 1];
// arr1.sort(); //适合单位数
// 升序排序
// arr1.sort(function(a, b) {
// return a - b;
// });
//降序排序
arr1.sort(function(a, b) {
return b - a;
});
console.log(arr1);
数组索引方法
indexOf()
顺序查找 从前往后查找
返回该数组该元素的索引号,只返回第一个满足条件的索引号。
在该数组中找不到返回-1
var arr = ['red', 'green', 'blue', 'pink'];
console.log(arr.indexOf('blue')); //2
lastIndexOf()
倒序查找 从后往前查找
返回该数组该元素的索引号,只返回最后一个满足条件的索引号。
在该数组中找不到返回-1
var arr = ['red', 'green', 'blue', 'pink'];
console.log(arr.lastIndexOf('blue'));//2
数组去重
要求去除数组中的重复元素,重复元素只能保留一个,放入新数组中
遍历旧数组,拿旧数组查询新数组,该元素在新数组中存在,不添加
该数组在新数组中不存在,添加
如何知道元素是否存在:新数组.indexOf(旧数组数组元素) 返回-1,没有该元素
function unique(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var demo = unique(['c', 'a', 'z', 'a', 'x', 'a', 'x'])
console.log(demo);
数组转换为字符串
toString()
var arr = [1,2,3];
console.log(arr.toString(arr)); // 1,2,3(字符串)
join()
可以加分隔符
var arr = ['green','blue','red'];
console.log(arr1.join()); //green,blue,red
console.log(arr1.join(&)); //green&blue&red
console.log(arr1.join(-)); //green-blue-red
数组的连接,截取,内容部分删除
concat()
连接两个数组
返回新数组
slice()
数据截取 (begin,end)
返回截取的新数组
splice()
数据删除 (从几开始,删除几个)
返回被删除项目的新数组
会影响原数组