ES5-新增数组方法

 indexOf方法 (查找某个元素在数组中第一次出现的位置)

语法:arr.indexOf(元素,[开始查找的起始下标]);

代码示范:

var arr = [1,3,5,7,7,5,3,1];
console.log(arr.indexOf(5)); // 2 - 查找数字5在数组中第一次出现的下标
console.log(arr.lastIndexOf(5)); // 5 - 查找数字5在数组中最后一次出现的位置
console.log(arr.indexOf(5,3)); // 5 - 从下标2开始查找数字5在数组中第一次出现的位置
console.log(arr.lastIndexOf(5,4)); // 2 - 从下标4开始查找数字5在数组中最后一次出现的下标
console.log(arr.indexOf("5")); // -1 - 数组中全是数字,找不到字符串5,所以返回-1

forEach方法(用于遍历数组)

语法:

arr.forEach(function(值, 下标, 当前数组){
    // 代码段
});
# 在这个方法中需要传入一个函数参数,这个函数的参数说明如下:
# 参数1:数组遍历出来的每个值
# 参数2:可选项。数组遍历出来的每个值对应的下标
# 参数3:可选项。被遍历的当前数组

代码示范:

复制代码
var arr = [1, 2, 3, 4, 5];
arr.forEach(function(x, index, a){
    console.log(x + '|' + index + '|' + (a === arr));
});
// 输出为:
// 1|0|true
// 2|1|true
// 3|2|true
// 4|3|true
// 5|4|true
复制代码

使用说明:

这个方法没有返回值,返回值为undefined,不会改变原来数组的值。

 

map方法(遍历数组,并将每个元素经过函数处理后,形成新的元素,所有新元素组成新数组返回)

语法:

arr.map(function(值,下标,当前数组){
return 新的值 - 通常新的值是由旧的值处理以后得到
});

代码示范:

var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
    return item*item;
});
console.log(arr2); //[1, 4, 9, 16, 25]

使用说明:这个方法主要用于以同样的规则处理数组中的每个值,并组成新的数组返回

 

filter方法 (将数组中满足指定条件的值,组成新的数组返回)

语法:

arr.filter(function(值, 下标, 当前数组){
    return 筛选条件
});

代码示范:

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr2 = arr.filter(function(v, index) {
    return v>5
}); 
console.log(arr2); //[6, 7, 8, 9, 10]

使用说明:

使用方法和功能跟map方法很像,只是运行规则不一样。map方法中的函数,用于返回新的元素,而filter方法中的函数,根据返回true或false来筛选元素

 

posted @   减淡  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示