数组常用方法之 ES5
var arr = ['hello', 'world', 'Jack', 'Rose', 'world']
1. indexOf() 查看数组中是否有该内容
语法: 数组.indexOf(你要查找的内容)
不改变原始数组
返回值:
如果找到,返回的是这个数据的索引位置(只找到第一个)
如果没有找到,返回的是 -1
var res = arr.indexOf('abc')
console.log(arr)
console.log(res)
第二种使用方式
语法: 数组.indexOf(你要查找的内容,你要从哪一个索引开始查找)
返回值和 indexOf 的第一种用法一样
var res = arr.indexOf('world', 5)
console.log(res)
2. forEach() 用来遍历数组的,es5 对 for 循环的扩展
语法: 数组.forEach(是一个函数)
数组有多少项,里面这个函数就执行多少回
返回值: 没有返回值
var res = arr.forEach(function (item, index, arr) {
console.log(item)
console.log(index)
console.log(arr)
})
console.log(res)
3. map() 用来映射数组的,对原始数组中的每一项进行操作,操作完毕以后放在新的数组里面返回
语法: 数组.map(传递一个函数)
返回值: 是一个新数组
var res = arr.map(function (item, index, arr) {
console.log(item)
console.log(index)
console.log(arr)
return item + 'abcd'
})
console.log(arr)
console.log(res)
4. filter() 对原始数组进行筛选,把满足条件的筛选出来,放在一个新的数组里面返回
语法: 数组.filter(传递一个函数)
var arr = [1, 2, 3, 4, 5, 6, 7]
var res = arr.filter(function (item, index, arr) {
return item === 3
})
console.log(res)
5. some() 对原始数组进行遍历,只要有一项满足我的条件,那么就返回 true,如果每一项都不满足条件,那么就返回 false
语法: 数组.some(传递一个函数)
var res = arr.some(function (item, index, arr) {
return item >= 7
})
console.log(res)
6. every() 对原始数组进行遍历,需要每一个都满足条件的时候,返回 true,只要有一个不满足条件,那么就是 false
语法: 数组.every(传递一个函数)
var res = arr.every(function (item, index, arr) {
return item > 1
})
console.log(res)