forEach 循环所有数据
map 处理每一个元素 返回一个新数组
filter 返回通过检查指定数组中符合条件的所有元素
findIndex 返回指定条件所在的索引
some 判断数组中是否有符合条件的数据 如果有就返回true 如果没有就返回false
every 判断数组中的所有数据是否都符合条件 所有数据都符合返回true 否则返回false
// 测试的数组
var users = [{
id: 4,
name: '麦当',
gender: 1,
age: 15
}, {
id: 1,
name: '咕咚',
gender: 1,
age: 13
}, {
id: 2,
name: '红眼',
gender: 1,
age: 18
}, {
id: 3,
name: '迪亚',
gender: 0,
age: 15
}, {
id: 5,
name: '米龙',
gender: 1,
age: 16
}];
forEach
// forEach 循环所有数据
Array.prototype.myForEach = function(func) {
for (var i = 0; i < this.length; i++) {
var item = this[i]
func(item)
}
}
// 显示所有的name和age
users.myForEach(function(item) {
console.log(item.name, item.age);
})
users.myForEach(item => console.log(item.name, item.age))
map
// map 处理每一个元素 返回一个新数组
Array.prototype.myMap = function(func) {
var arr = []
for (var i = 0; i < this.length; i++) {
var item = this[i]
arr.push(func(item))
}
return arr
}
// 获取所有用户的名单
var names = users.myMap(item => {
return item.name
})
console.log(users, names);
filter
// filter 返回通过检查指定数组中符合条件的所有元素
Array.prototype.myFilter = function(func) {
var arr = []
for (var i = 0; i < this.length; i++) {
var item = this[i]
if (func(item)) {
arr.push(item)
}
}
return arr
}
// filter 过滤数据
// 过滤出来所有的男的
var nan = users.myFilter(item => item.gender == 1)
console.log(nan);
findIndex
// findIndex 返回指定条件所在的索引
Array.prototype.myFindIndex = function(func) {
for (var i = 0; i < this.length; i++) {
var item = this[i]
if (func(item)) {
return i
}
}
return -1
}
some
// some 判断数组中是否有符合条件的数据 如果有就返回true 如果没有就返回false
Array.prototype.mySome = function(func) {
for (var i = 0; i < this.length; i++) {
var item = this[i]
console.log(item);
if (func(item)) {
return true
}
}
return false
}
// 查找用户中是否包含女
var ok = users.mySome(item => item.gender == 0)
console.log(ok);
var ok = users.mySome(function(item) {
if (item.gender == 0) {
item.age = 100
return true
}
})
console.log(ok);
console.log(users)
every
// every 判断数组中的所有数据是否都符合条件 如果所有的数据都符合条件就返回true 否则返回false
Array.prototype.myEvery = function(func) {
for (var i = 0; i < this.length; i++) {
var item = this[i]
if (!func(item)) {
return false
}
}
return true
}