forEach
匿名函数
function(){}
arr.forEach(function(item,index){
// 第一个形参: 数组元素
// 第二个形参: index 索引号(下标)
})
案例
<script>
//forEach遍历
var arr = [98, 57, 78, 95, 89, 99]
function testForEach() {
arr.forEach(function (item, index) {
console.log('index :', index, ' item :', item)
})
}
testForEach()
//一般遍历
var arr2 = [98, 57, 78, 95, 89, 99]
function yiBanBianLi() {
for (var i = 0; i < arr2.length; i++) {
console.log(arr2[i])
}
}
yiBanBianLi()
</script>
查找最大值
<script>
var arr = [98, 57, 78, 95, 89, 99]
function testForEach() {
var max = 0
arr.forEach(function (item, index) {
// item: 98,67,78,95,89
if (item > max) {
max = item //max:98
}
})
console.log('最大值是 ', max)
}
testForEach()
</script>
map
var newArr = arr.map(function(item,index){
return 新元素
})
[新元素1,新元素2,...]
数组内每个元素减10,用一般数组实现
map前置知识回顾
<script>
var arr = [98, 57, 78, 95, 89, 99]
function testMap() {
var newArr = []
for (var i = 0; i < arr.length; i++) {
newArr.push(arr[i] - 10)
}
console.log(newArr)
}
testMap()
</script>
map实现原理
1. 遍历数组
2. 映射新数组,return返回值
map案例
<script>
var arr = [98, 57, 78, 95, 89, 99]
function testMap1() {
var newArr = arr.map(function (item) {
return item - 20
})
console.log(newArr)
}
testMap1()
</script>
filter
var newArr = arr.filter(function(item,index){
return 条件
})
查找数组满足条件的元素,返回新数组
案例
<script>
var arr = [98, 57, 78, 95, 89, 99]
function testFilter() {
var newArr = arr.filter(function (item) {
return item > 80
})
console.log(newArr)
}
testFilter()
</script>
find
查找第一个满足条件的元素
案例
<script>
var arr = [98, 57, 78, 95, 89, 99]
function testFind() {
var newItem = arr.find(function (item) {
return item < 90
})
console.log(newItem)
}
testFind()
</script>
every与some
every
遍历数组,查找数组元素是否全部满足条件,全部满足返回真
some
遍历数组,查找数组是否有一个满足条件,有一个满足条件返回真
<script>
var arr = [98, 57, 78, 95, 89, 99]
function testEvery() {
var isOk = arr.every(function (item) { // 98 67 78
return item > 60
})
console.log('isOk ', isOk)
}
testEvery()
</script>
<script>
var arr = [98, 57, 78, 95, 89, 99]
function testSome() {
var isOk = arr.some(function (item) {
return item < 60
})
console.log('isOk ', isOk);
}
testSome()
</script>