目录
创建数组的几种方式
//基本用法
let colors = new Array();
//也可以直接指定数组的长度
let colors = new Array(20); //指定了一个长度为20的数组
//也可以直接写数组的元素
let colors = new Array("red","yellow","white");
1. 栈方法
概念:栈是一种后进先出的结构,也就是最近添加的项先被删除。数据项的插入(推入push)和删除(弹出pop)只在栈的一个地方发生,即栈顶。
//push 在数组的末尾添加一条数据
let colors = [];
colors.push("red");
console.log(colors);
//添加多条
colors.push("green","yellow");
//返回数组的长度
let count = colors.push("blue");
console.log(colors)
//pop 删除数组最后一项
colors.pop();
console.log(colors);
2. 队列方法
概念:对数组进行排序 sort() 对数组进行从小到大排序 reverse() 对数组进行反转
//sort基本使用 顺序
let values = [1,3,8,7,5,4];
values.sort();
console.log(values); // 1 3 4 5 7 8
//reverse()基本使用 反序
let values = [1,3,8,7,5,4];
values.reverse();
console.log(values); 4 5 7 8 3 1
//sort的局限
let values = [1,123,34,5,2];
values.sort();
console.log(values); // [1, 123, 2, 34, 5] 没有正确排序 只看首个数字
*数组排序
let values = [1,123,34,5,2];
values.sort(function(num1,num2){
if(num1<num2){
return -1;
}else if(num1>num2){
return 1;
}else{
return 0;
}
});
console.log(values);
*判断数组类型
// obj instanceof Object //true 实例obj在不在Object构造函数中
//instanceof
let arr = [];
console.log(arr instanceof Array);
//isArray
let arr = [];
console.log(Array.isArray(arr));
3. 数组的迭代器方法(es5新添加方法)
every: 对数组的每一项都运行传入的函数,如果对每一项函数都返回true,则这个方法返回true.
filter(): 对数组每一项都运行传入的函数,函数返回true的项会组成数组之后返回
forEach(): 对数组每一项都运行传入的函数,没有返回值.
map: 对数组每一项都运行传入的函数,返回由每一次函数调用的结果构成的数组
some(): 对数组每一项都运行传入的函数,如果有一项返回true,则返回true
//forEach(); //遍历数组 平时开发中用得较多
let arr = ['小橘',18,'teacher'];
arr.forEach(function(item,index){
console.log(item+"---"+index);
});
//every(); //判断每一项是否都返回true, 如果是 结果就为true;
let numbers = [1,2,3,4,5,4,3,2,1];
let result = numbers.every(function(item,index){
return item>2;
})
console.log(result); //false
//some(); //判断数组中只要一项返回true 那么结果就为true;
let numbers = [1,2,3,4,5,4,3,2,1];
let result = numbers.some(function(item,index){
return item>2;
})
console.log(result);
//filter(); //数组筛选 返回一个判断结果为true的item 组成的数组
let numbers = [1,2,3,4,5,4,3,2,1];
let filterResult = numbers.filter(function(item,index){
return item>2;
})
console.log(filterResult); //[3, 4, 5, 4, 3]