数组遍历方法:
let arr = [1, 2, 3, 4, 5];
/* 第一种遍历方法 */
for (var i = 0; i < arr.length; i++) {
console.log(arr1[i]);
}
/* 第二种遍历方法 */
for (var j in arr) {
console.log(arr[j]);
}
/* 第三种遍历方法 */
arr.forEach(function (a, b, arr) {
console.log('数值' + a, '下标' + b, '数组' + arr);
/*
a 表示数组每一项
b 表示数组每一项下标
arr 表示原始数组(一般不使用)
*/
})
映射数组:为了对原数组进行操作,但不改变原数组的值。(返回的是一个新数组,需要使用一个新的变量接受这个数组)
let arr = [1, 2, 3, 4, 5];
let aa = arr.map((a, b, arr) => {
console.log(a, b, arr);
return a + 10;
})
console.log(aa);
过滤数组:过滤原始数组中的数据,把满足条件的放在新数组中。
let arr = [1, 2, 3, 4, 5];
let bb = arr.filter((a, b, arr) => a > 3);
console.log(bb);
判断数组中某一个元素:some()只要有一个满足就会返回true、every()必须每一项都满足才能返回true(两者的返回都为布尔值true和false)。
let arr = [1, 2, 3, 4, 5];
let cc = arr.some((a, b, c) => a > 4)
console.log(cc);
//分隔符
console.log('-'.repeat(50));
let dd = arr.every((a, b, c) => a > 4)
console.log(dd);
ES6填充:具有替换功能。(第一个参数:填充的东西、第二个参数:从多少下标开始、第三个参数:到多少下标结束)
let arr = [1, 2, 3, 4, 5];
arr.fill('a', 2, 3);
console.log(arr);
ES6替换:第一个:替换位置的下标、第二个:替换东西开始的下标、、第三个:替换东西结束的下标。
let arr = [1, 2, 3, 4, 5];
arr1.copyWithin(2, 4, 5);
console.log(arr1);
ES6查找:find找到返回第一个满足条件的值,找不到返回underfunded,findIndex找到返回第一个满足条件的下标,找不到就返回-1。
let arr = [1, 2, 3, 4, 5];
let aa = arr.find(function (a, b, arr) {
return a == 5;
})
console.log(aa);
let bb = arr.findIndex(function (a, b, arr) {
return a <= 5;
})
console.log(bb);
ES6拍平:多元数组拍平成为新的一元数组(后面数字表示你要拍多少层、Infinity表示拍无限层,全部)。
let arr2 = [[1, 2, 3],['a', 'b', 'c']];
let cc = arr2.flat();
console.log(cc);
一边拍平一边映射或过滤等:
let arr2 = [[1, 2, 3],['a', 'b', 'c']];
let ee = arr2.flatMap(function (a, b, arr2) {
// 映射
/* return a.map(function (a, b, arr2) {
return a + 2
}) */
// 过滤
return a.filter(function (a, b, arr2) {
return a < 2
})
})
console.log(ee);
ES6求和:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
/* for循环求和 */
let a = 0;
for (var i = 0; i < arr.length; i++) {
a += arr[i];
}
console.log(a);
/* ES6求和 */
let aa = arr.reduce(function (a, b, c, arr) {
/*
a 表示第一个数字
b 表示最后一个数字
c 表示最后一个数字的下标
arr 表示数组
*/
return a + b
})//,初始值 (加上初始值后会加上初始值一起计算)
console.log(aa);