js之数组

1、创建数组:数组字面量、new+构造函数

var test = [1,2]        //数组字面量
var test1 = new Array(10);//创建长度为10的数组
var test2 = new Array(1,2,3,4);        //等价于[1,2,3,4]

2、数组的类型:Array.isArray():判断是否是数组

Array.isArray([])        //true
Array.isArray({})        //false

3、数组的方法:

  • push():往数组的末尾增加一个或多个元素
  • pop():删除数组的最后一个元素,并返回删除的元素
  • shift():从数组头部删除一个元素
  • unshift():从数组头部添加一个或多个元素
  • splice():用于插入、删除、或替换数组元素,返回删除的数组,splice会改变调用它的数组本身。第一个参数指定了插入或删除的起始位置,第二个参数指定了应该从数组中删除的个数,如果是0就是不删除,如果没有第二个参数,则表示到数组的最后。之后的所有参数指定了需要插入到数组的元素,从第一个参数的位置开始插入元素。
  • slice():返回数组的一个片段或子数组,它的两个参数指定了片段的开始和结束位置,如果只有一个参数,则表示到数组的最后一个元素,如果有负数,则表示从数组的末尾开始数;
  • join():将数组中的元素都转化为字符串并连接在一起,返回最后生产的字符串。可以通过可选参数来分隔数组的各个元素,不传默认用逗号分隔。String.split()是join的逆向操作,它可以把字符串通过参数分割成一个数组。
  • reverse():将数组的元素颠倒顺序,返回逆序的数组;
  • sort():排序;如果是升序则返回负数;降序返回正数
var test = [2,52,1,34,634,21];
test.sort(function(a,b){
    return a-b;    //升序
});
  • concat():创建并返回一个新数组,它的元素包括调用concat的原始数组的元素和concat的每个参数,如果这些参数中任何一个自身是数组,则添加的是这个数组的元素,而非数组本身,但concat不会递归扁平化数组的数组,它也不会修改调用的数组
var test = [1,2,3];
var test1 = test.concat(4,5);        //[1,2,3,4,5]
var test2 = test.concat([4,5]);        //[1,2,3,4,5]
var test3 = test.concat(4,[5,6]);        //[1,2,3,4,5,6];
var test4 = test.concat([4[5,6]]);        //[1,2,3,4,[5,6]]
  • forEach():循环数组,它无法终止循环,如果要终止可以使用for循环
  • map():将调用的数组的每个元素传递给指定的函数,并返回一个数组
var test = [1,2,3];
var test1 = test.map(v => v*v);        //[1,4,9]
  • filter():返回由符合条件的元素组成的数组
var test = [1,2,3,4,5,6];
var test1 = test.filter(v => v>3);        //[4,5,6];
  • every()、some():它们对数组元素应用指定的函数进行判定,返回true和false;erery是所有的元素返回true时才返回true,some是只要有一个返回true就返回ture
  • reduce()、reduceRight():使用指定的函数将数组元素进行组合,生成单个值。它需要两个参数,第一个参数是执行化简操作的函数,它的任务是将两个值组合或简化成一个值,并返回简化后的值。第二个是可选参数,是一个传递给函数的初始化值。
var test = [1,2,3];
var sum = test.reduce((x,y) => {
   return x+y;
},0);        //求和

var max = test.reduce((x,y) => {
    return (x>y)?x:y;
});        //求最大值
  • indexOf、lastIndxOf():搜索整个数组中具有给定值的元素,并返回找到的第一个元素的索引。它有两个参数,第一个参数是要搜索的值,第二个是可选参数,表示从哪里开始搜索;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值