1.数组的添加
let arr = []
push方法,向数组的末尾添加数据
arr.push('a');
unshift方法,向数组的开头添加数据
arr.unshift('1');
2.数组的删除
let arr = []
pop方法,删除数组末尾的一个数据
arr.pop();
shift方法,删除数组开头的一个数据
arr.shift();
3.for遍历
let arr = [1, 2, 3, 4];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
4.for of遍历
let arr = [1, 2, 3, 4];
for(var item of arr) {
console.log(item);
}
5.for in遍历
let arr = [1, 2, 3, 4];
for(var item in arr) {
console.log(item);
}
6.forEach()遍历
//注:不会改变原来的数组
let arr = [1, 2, 3, 4];
arr.forEach(item => {
item = item * 2;
});
console.log(arr); // [1, 2, 3, 4]
7.map()映射遍历
//注:数组元素个数不变,但是按照一定的条件转换
let arr = [1, 2, 3, 4];
let newArr = arr.map(item => {
return item * 2;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr); // [2, 4, 6, 8] 返回新数组
8.filter()过滤遍历
//注: 有返回值,返回满足某个条件的元素构成的数组,数组元素个数可能改变,按照一定的条件返回
let arr = [1, 2, 3, 4];
let newArr = arr.filter(item => {
return item < 3;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr); // [1, 2] 返回新数组
9.find()遍历
let arr = [1, 2, 3, 4];
let newArr1 = arr.find(item => {
return item > 2;
});
let newArr2 = arr.find(item => {
return item > 5;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr1); // 3 返回第一个符合条件的元素
console.log(newArr2); // undefined 没有符合条件的元素则返回undefined
**10.indexOf()遍历 与lastIndexOf()遍历 **
//注: indexOf()从前向后遍历
//lastIndexOf()从后向前遍历
let fruits= ['苹果', '梨子', '桃子', , '西瓜', '哈密瓜'];
let indexOfFru = fruits.indexOf('桃子');
console.log(indexOfFru); // 2
let lastIndexOfFru = fruits.lastIndexOf('西瓜');
console.log(lastIndexOfFru); // 3
11.every()遍历
//注:全真为真,一假全假
let arr = [1, 2, 3, 4];
let newArr1 = arr.every(item => {
return item > 2;
});
let newArr2 = arr.every(item => {
return item < 5;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr1); // false
console.log(newArr2); // true
12.some()遍历
//注:一真全真,全假才假
let arr = [1, 2, 3, 4];
let newArr1 = arr.some(item => {
return item > 2;
});
let newArr2 = arr.some(item => {
return item > 5;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr1); // true
console.log(newArr2); // false
13.reduceRight()遍历
let arrNum = [2, 4, 6, 8, 10];
// 累加
let sum = arrNum.reduceRight((x, y)=>{
return x + y;
});
console.log(sum); // 30
// 累乘
let multiple = arrNum.reduceRight((x, y)=>{
return x * y;
});
console.log(multiple); // 3840
// 求最大值
let bigger = arrNum.reduceRight((x, y)=>{
return x > y ? x : y;
});
console.log(bigger); // 10
//求平均值
let result = arrNum.reduce((tmp, item, index, arrNum) => {
if ( index != arrNum.length-1 ) { //不是最后一次先求和
return tmp + item;
} else { //最后一次求平均数
return (tmp + item)/arrNum.length;
}
});
console.log(result); //6
14.遍历器机制
// keys()方法:默认遍历器,其值为集合中的所有键名。
// values()方法:默认遍历器,其值为集合中的所有值。
// entries()方法:默认遍历器,其值为所有成员的键值对。
const arr = ["A", "B", "C"];
console.log([...arr.keys()]); // [0, 1, 2]
console.log([...arr.values()]); // ["A", "B", "C"]
console.log([...arr.entries()]); // [[0, "A"],[1, "B"],[2, "C"]]
const set = new Set(arr);
console.log([...set.keys()]); // ["A", "B", "C"]
console.log([...set.values()]); // ["A", "B", "C"]
console.log([...set.entries()]); // [["A", "A"],["B", "B"],["C", "C"]]
const map = new Map().set("name", "Tom").set("age", 19);
console.log([...map.keys()]); // ["name", "age"]
console.log([...map.values()]); // ["Tom", 19]
console.log([...map.entries()]); // [["name", "Tom"],["age", 19]]