JS(1) JS数组

数组:一组有序的数据
数组的作用:可以一次性存储多个数据
数组的定义:
    1.通过构造函数创建数组
    语法:
        var 数组名=new Array();//定义了一个空数组
        var 数组名=new Array(5);//一个实参时:定义一个长度为5的数组,数组中的每个元素都为undefined
        var 数组名=new Array(1,2,3,4);//多个实参时:表示数组中有1、2、3、4这几个元素,参数个数为数组长度。
        
    2.通过字面量的方式创建数组
        var 数组名=[];//空数组
        var 数组名=[元素1,元素2....];
    
        
如何设置数组中某个元素的值?
    数组名[下标]=值
如何获取数组中某个元素的值?
    数组名[下标],如果下标超出数组长度减1,则得到的元素为undefined,而不会像java那样抛出异常
    
数组中存储的数据类型一定是一样的吗?可以不一样,这和其他C、C++或java不一样
    可以不一样,如 var arr=[10,"haha",true,null,undefined,new Object()];
    通常是一样的,这样才方便操作。
数组的长度是可以改变的吗?可以改变,这和C\C++或java不一样
    如:var array=[]; array[0]=10;array[1]=20;
    
数组长度:
    length属性,该属性不是只读的,可以设置值
    var colors=["red"];
    colors.length=10;//则后面有9个undefined的元素
    colors.length=1;//则在数组中保留一个元素,其他元素全部删除

检测某个变量是否是数组?
    变量 instanceof Array;//对一个网页或者一个全局作用域而言没问题
    Array.isArray(变量);//没有局限,常用
    
用数组实现栈功能:
    数组名.push(一个或多个元素);//向后加入数组
    数组名.pop();//弹出最后一个元素
    
用数组实现队列功能:
    数组名.push(一个或多个元素);//向后加入元素
    数组名.shift();//弹出第一个元素
    
    数组名.unshift(一个或多个元素);//在数组的前面加入一个或多个元素
    数组名.pop();//弹出最后一个元素
    
数组反转:数组名.reverse();

数组排序:
    数组名.sort(fn);
    如果没有参数,那么按照字符串顺序升序排列。
    fn函数有2个参数,如果第一个小于第二个则返回-1,等于返回0,小于返回1
    
concat方法:
    var array=["1"]; array.concat(一个元素或者一个数组);//创建array数组的副本,并将参数存储到副本数组中并返回副本数组。
    
slice方法:
    var ay=[1,2,3,4,5];
    var ay1=ay.slice(起始位置,可选的结束位置);//返回原始数组的一个子数组

splice方法;
    数组的splice方法可有3个参数,参数1表示起始位置,参数2表示要从数组中第一个参数后删除元素个数,第三个参数表示的元素插入到第一个参数位置的后面。
    
数组位置方法:
    indexOf和lastIndexOf方法
    
迭代方法:
    every(fn);//数组中的每个元素都去调用参数函数,如果都返回true,则every方法返回true
    some(fn);//数组中的每个元素都去调用参数函数,只要有一个返回true,则该方法返回true
    filter(fn);//数组中每个元素都去调用参数函数,filter方法返回新的数组,数组的元素为参数函数返回true的那些元素。
    
    forEach(fn);//数组中每个元素都去调用参数函数,没有返回值
    map(fn);//数组中的每个元素都去调用参数函数,返回每次参数函数返回的结果组成的数组。
    
    上述函数的参数函数fn可以有3个参数:当前元素,当前元素的索引,整个数组
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值