let arr = [22, 33, 44, 55, 11]
// 1.forEach(),遍历数组
function forEach(arr, callback) {
for (let i = 0; i < arr.length; i++) {
callback(arr[i], i)
}
}
forEach(arr, (item, index) => console.log(index + '--' + item))
// 2.every()方法 检查所有元素是否满足指定规则
function every(arr, callback) {
for (let i = 0; i < arr.length; i++) {
if (!callback(arr[i])) {
return false
}
}
return true
}
console.log(every(arr, num => num > 10));
console.log(every(arr, num => num < 10));
// 3.reduce() 方法,从左到右累加和
function reduce(arr, callback, initNum) {
for (let i = 0; i < arr.length; i++) {
let r = callback(initNum, arr[i])
initNum = r
}
return initNum
}
console.log(reduce(arr, (a, b) => a + b, 0));
// 4.filter()方法
// 用于过滤数组中的元素,返回过滤结果 重新声明一个新数组,过滤后返回到新数组
function filter(arr, callback) {
let newArr = []; //声明新数组
for (let i = 0; i < arr.length; i++) {
if (callback(arr[i])) { //如果他是true
newArr.push(arr[i]) //加到新数组
}
}
return newArr
}
let newArr = filter(arr, item => item % 2 == 0)
console.log(newArr);
// 5.find()方法,用于获取数组中满足规则的第一个元素
function find(arr, callback) {
for (let i = 0; i < arr.length; i++) {
if (callback(arr[i])) { //如果他是true
return arr[i]
}
}
}
let num1 = arr.find(item => item % 2 === 0)
console.log(num1);
// 6.findIndex() 方法, 用于获取数组中满足规则的第一个元素下标
function findIndex(arr, callback) {
for (let i = 0; i < arr.length; i++) {
if (callback(arr[i])) { //如果他是true
return i
}
}
}
let num2 = arr.findIndex(item => item % 2 === 0)
console.log(num2);
// 7.some()方法,用于表示数组中是否有满足指定规则的元素,有返回true,一个都没有返回false
function some(arr, callback) {
for (let i = 0; i < arr.length; i++) {
if (callback(arr[i])) {
return ture
}
}
return false
}
let isOk1 = arr.some(item => item % 20 === 0)
console.log(isOk1);
// 8.map() 方法, 用于将原始数组里面的数据根据指定的规则返回新的数组\
// 会改变原数组 用新数组来接
function map(arr, callback) {
let newArr = []
for (let i = 0; i < arr.length; i++) {
newArr.push(callbackarr[i])
}
}
let newArr2 = (arr.map(item => item * 3))
console.log(newArr2);