//ECMAScript中的数组方法
//1.forEach() 从头至尾遍历函数,为每个元素调用指定的函数
var arr1 = [1, 2, 3, 4, 5, 6];
arr1.forEach(function (value,index,arr) { //三个参数为:数组元素、数组索引、数组本身
if (value % 2 == 0) {
arr[index] = value;
} else {
arr[index] = value+1;
}
})
alert(arr1.toString())
//1.map() 将数组中的每个元素传递给指定的函数,返回一个新函数
var arr2 = [12, 13, 15];
arr2.map(function(value){
value=value*value;
}
)
//输出的结果依旧是13,13,15,map返回的是新数组,不影响原来的数组
alert(arr2)
var result = arr2.map(function (x) {
return x = x * x; //返回值
}
) //返回[144,169,225]
alert(result)
//filter()方法 ,返回的数组元素是另一个数组的子集,相当于筛选过滤的租用
var arr3 = [1, 2, 3, 4, 5, 6];
var result2 = arr3.filter(function (e) {
return e < 5;
}) //返回数组为[1,2,3,4]
alert(result2)
//indexOf() //搜索数组中指定的元素,返回第一个指定元素的索引值,如果找不到指定的元素,则返回-1
//lastindexOf() //搜索数组中指定的元素,返回最后一个指定元素的索引值,如果找不到指定的元素,则返回-1
var arr4 = ["Hello ", "Burgess", "!", "Hh"];
var result4 = arr4.indexOf("!");
var result5 = arr4.lastIndexOf("!");
alert(result4)
alert(result5)