//indexOf(data,start)接收两个参数:要查找的项和(可选的)表示查找起点位置的索引
//注意点1:如果起始查找位置给了负值,会转成倒数进行查找,还是按照正常的顺序进行查找。不建议给负值使用
//注意点:默认查找第一次在数组里面出现的位置,如果找到了就不会往下执行
//var arr = [‘a’, ‘a’, ‘a’, ‘c’, ‘d’, ‘f’, ‘e’, ‘a’]
//这个方法的作用返回数组元素在数组中的具体位置
//注意点3:如果没有查找到返回的是一个-1
// var res = arr.indexOf(‘a’, -6)
//var res = arr.indexOf(‘a’, 1)
//console.log(res)
// var arrPic = ['img/1.jpg', 'img/2.jpg', 'img/3.jpg']
// var res = arrPic.indexOf('img/2.jpg')
// console.log(res)
// console.log(arrPic[res])
//forEach() 循环 对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值
//参数是一个函数
//var arr = ['庞博', '绿茶', '李鑫喜欢洗脚', '杜鹏也喜欢洗脚', '王涛喜欢按摩', '唐刘根推拿']
// for(var i=0; i<arr.length; i++){
// console.log(arr[i])
// }
//函数的参数:参数1表示的是元素 参数2表示的是下标 参数3表示的是遍历的数组
// arr.forEach(function(item, index){
// //console.log(item)
// document.write('<p>'+item+'</p>')
// })
//map(callback)会遍历当前数组,然后调用参数中的方法,返回当前方法的返回值。
//map可以改变当前循环的值,返回一个新的被改变过值之后的数组(map需return),一般用来处理需要修改某一个数组的值。映射
//注意点:map作用是提取数据和修改数据,会把结果返回到一个新的数组里面
var personObj = [
{
id: 1,
name: '庞博',
sex: '男',
like: '洗脚',
email: 'pb666@qq.com',
age: 18,
price: 99999
},
{
id: 2,
name: '杜鹏',
sex: '男',
like: '洗脚',
email: 'dp888@qq.com',
age: 23,
price: 9.9
},
{
id: 3,
name: '李鑫',
sex: '女',
like: '烫头',
email: 'lixing888@qq.com',
age: 66,
price: 6.32
}
]
//函数的参数:参数1表示的是元素 参数2表示的是下标 参数3表示的是遍历的数组
// var res = personObj.map(function(item, index, arr){
// //console.log(item)
// //console.log(index)
// //console.log(arr)
// //return item.email
// //return item.name
// return item.price += 200
// })
// console.log(res)
//filter() 遍历和过滤。返回符合条件的元素的数组。filter需要在循环的时候判断一下是true还是false,是true才会返回这个元素
//函数的参数:参数1表示的是元素 参数2表示的是下标 参数3表示的是遍历的数组
var res = personObj.filter(function(item, index){
//console.log(item, index)
//return item.age > 20
//return item.id == 2
return item.price >= 7
})
console.log(res)