forEach:方法主要是针对数组而言的,对数组中的每个元素可以执行一次方法。
<script>
// 作用: 快速遍历数组里每个值
// 语法:
/*
数组变量.forEach(值变量名 => {
// ...每遍历一个值, 就传给此形参(值变量名), 执行一次此函数体, 继续遍历
})
*/
arr.forEach((val, index, whole) => { /* val= arr[数组]的每一项*/
/* foreach方法主要有三个参数,分别是数组内容、数组索引、整个数组 */
console.log(val);//数组内容
console.log(index);//数组索引
console.log(whole);//整个数组
document.write(val, index, whole)
})
</script>
splice :方法可以删除数组中的项,也能数组中添加新的项
<script>
//splice删除
arr = ['老王', '建国', '川普', '卢比']
/* arr.splice(2, 1)
2: 数组中需要删除数据的起始位置,如0 1 2 3..
1: 需要删除的元素/数据的个数 */
arr.splice(2, 1)
document.write(arr)
//运行:老王,建国,卢比
</script>
//splice插入和替换
/* arr.splice(3, 2, txt1, txt2 …)
3: 数组中需要删除数据的起始位置
2: 需要删除的元素 / 数据的个数 n是0时,为插入
txt..:需要插入的元素,用, 隔开
*/
arr = ['老王', '建国', '川普', '卢比']
// 替换,实质是删除
arr.splice(3, 2, '杰克', '艾斯')
document.write(arr)
//运行:老王,建国,川普,杰克,艾斯
reduce: 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
//reduce的使用
/*
arr.reduce((prev,cur,index,arr)=>{
略...
}, i);
arr 表示原数组;
prev 表示上一次调用回调时的返回值,或者初始值 i;
cur 表示当前正在处理的数组元素;
index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
i 表示初始值。
*/
//求数组之和
let arr = [5, 4, 1, 8, 8, 5, 5];
let sum = arr.reduce((prev, cur) => {
return prev + cur;
}, 0);
document.write(sum)
//运行:36
//求数组项最大值
let max = arr.reduce((prev, cur) => {
return Math.max(prev, cur);
});
document.write(max)
//运行:8