ES5数组拓展方法

数组拓展方法

  • forEach()
  • map()
  • filter()
  • reduce()
  • some()/every()
  • instanceof()
  • isArray()
  • toLocaleString() toString() valueOf()
  • join()

forEach

作用:遍历数组(value,index,array),没有返回值
value——表示数组当中每一个成员
index——表示数组对应成员的下标
array——表示原数组

//定义一个数组
var arr = [1,2,4,5,6];
    var col = [];
    col = arr.forEach(function (v) {
        return v;
    })

    console.log(col);//返回新数组把堆的指向地址赋给空数组

map

作用:遍历数组(value,index,array),返回一个新的数组,有返回值
value——表示数组当中每一个成员
index——表示数组对应成员的下标
array——表示原数组

//求平方  以及各种数学运算
var arr = [1,2,4,5,6];
    var col = [];
    col = arr.map(function (v) {
        return v*v;
    })

    console.log(col);

filter

作用:过滤 遍历数组(value,index,array),返回一个新的数组,有返回值
value——表示数组当中每一个成员
index——表示数组对应成员的下标
array——表示原数组

//过滤 
var app = ['毒人','缉毒人','你好毒','梅丽莎','嘟嘟'];
    var list = app.filter(function(v){
        return v.indexOf('毒')>-1;

    })
    console.log(list);

reduce

作用:归并 遍历数组(value,index,array),返回一个新的数组,有返回值
prev——第一个参数表示第一个数组成员值
next——第二个参数表示最后一个数组成员值
value——表示数组当中每一个成员
index——表示数组对应成员的下标
array——表示原数组

//阶乘 数组求和 以及各种数学运算
var arr = [1,2,4,5,6];
    var col = [];
    col = arr.reduce(function (a,b,value,index) {

        return a*b;//阶乘
        return a+b;//数组求和
    })

    console.log(col);

some

作用:对数组中每一项进行给定函数,如果任意一项都返回true,则返回true
value——表示数组当中每一个成员
index——表示数组对应成员的下标
array——表示原数组

var arr = [1,2,4,5,6];
    var col = [];
    col = arr.some(function (value,index) {
         return value>1;
    })
    console.log(col);//true

indexOf() lastIndexOf()

作用:返回在数组中可以找到一个给定元素的对应下标,如果不存在,则返回-1

//第一个参数是数组检索的元素
//第二个参数是从数组中返回第几个该元素的下标
var arr = [1,2,4,5,6,2,3,4,5,7];
console.log(arr.indexOf(1));//返回下标0
console.log(arr.indexOf(9));//数组未检索到该值返回-1
console.log(arr.indexOf(2,2));//返回下标5

console.log(arr.lastIndexOf(5));//返回下标8
console.log(arr.lastIndexOf(0));//返回-1
console.log(arr.lastIndexOf(4,2))//返回下标2

检测数组

ES3的方法:instanceof()

var values = [1,2,3];
if(values instanceof Array){
    //对数组进行某些操作
}

ES5的方法:isArray()

var values = [1,2,3];
if(Array.isArray(values)){
    //对数组进行某些操作
}

转换方法

1 toLocaleString() toString() valueOf()

var number = 1337;
var date = new Date();
var myArr = [number, date, "foo"];
var str = myArr.toLocaleString(); 
console.log(str); 
// 输出 "1,337,2017/8/13 下午8:32:24,foo"
// 假定运行在中文(zh-CN)环境,北京时区

2 join() 将数组转换为字符串,且用分隔符分割

var colors = [1,2,3];
alert(colors.join("|"));  // 1|2|3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值