JavaScript中的数组

什么是数组

数组就是一组数据的集合,其表现形式就是内存中的一段连续的内存地址。

一、数组的内置对象——Array 对象

Array 对象用于在单个的变量中存储多个值。

创建 Array 对象的语法:

new Array();

new Array(size);

new Array(element0, element1, ..., elementn);

参数

参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。

参数 element ..., elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。

返回值

返回新创建并被初始化了的数组。

如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。

当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。

当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。

当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。

Array 对象方法

方法描述
concat()连接两个或更多的数组,并返回结果。
join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop()删除并返回数组的最后一个元素
push()向数组的末尾添加一个或更多元素,并返回新的长度。对原数组有影响。
reverse()颠倒数组中元素的顺序。
shift()删除并返回数组的第一个元素。对原数组有影响。
slice()从某个已有的数组返回选定的元素,截断字符串,对原数组无影响,可用于写数据分页。
sort()对数组的元素进行排序
splice()删除元素,并向数组添加新元素。对原数组有影响
toSource()返回该对象的源代码。
toString()把数组转换为字符串,并返回结果。
toLocaleString()把数组转换为本地数组,并返回结果。
unshift()向数组的开头添加一个或更多元素,并返回新的长度。对原数组有影响
valueOf()返回数组对象的原始值

二、数组创建方式

注意:数组里面的数据类型没有限制,六大数据类型均可以

1.直接实例化

<script>
    var arr=new Array(1,2,3,4,5);
    //参数大于1才是数组值,只有一个参数则为数组长度
</script>

2.创建数组指定长度

<script>
    var arr=new Array(5);
    arr[0]=1;
    arr[1]=1;
    arr[2]=1;
    arr[3]=1;
    arr[4]=1;
</script>

3.隐式创建

<script>
    var arr=[1,2,3,4,5]
</script>

三、示例

<script>
    /*length  返回当前数组的长度   当前数组值所对应的索引*/
    var a=[2,4,3,1];
    console.log(a.length);
    console.log(typeof a.toString());//检查字符串类型

    console.log(a.shift());//删除数组第一个元素  并返回删除的元素   对原数组有影响
    console.log(a);
    console.log(a.pop());//删除数组最后一个元素  并返回删除的元素   对原数组有影响
    console.log(a);

    console.log(a.unshift(5));//给数组前面追加值  返回数组长度  对原数组有影响
    console.log(a);
    console.log(a.push(8));//给数组的后面追加   返回的是数组的长度   对原数组有影响
    console.log(a);

    console.log(a.slice(0,3));//取小不取大  对原数组无影响
    console.log(a);
    console.log(a.splice(0,2));//对原数组有影响
    console.log(a);


    var b=[1,2,3,4,5];
    console.log(b.join("|"));


     var m=[3,4,5,1,2];
     var n=m.sort(function (n1,n2){//sort()对数组的元素进行从小到大排序
     console.log(n1+"/"+n2);//从输出可以看到,n1,n2指元素两两一组
     return n2-n1;//将元素两两比较,从大到小排序
     });
     console.log(m);
    var c=[4,5,6,7,8];
    console.log(c.reverse());//reverse()颠倒数组中元素的顺序。
</script>

输出结果:

四、遍历元素的方法

1.for  in  

<script>
    var a=[1,2,3,"hello",4,5];
    for(var key in a){//for in 遍历元素   key为元素索引
        console.log(a[key]);
    }
</script>

2.forEach()     数组里面内置的遍历元素的方法

   forEach()三个参数:value 元素值;   index 索引值 ;    items 当前元素所在的集合 一般不会用到

<script>
    var a=[1,2,3,"hello",4,5];
    a.forEach(function(value,index,items){//遍历元素  寻找value=="hello"
        if(value=="hello"){
            items.splice(index,1);//从index开始  删掉一位
        }
    });
    console.log(a);
</script>

输出结果:

五、案例

删掉所有数字

<script>
    var a=["a","ab1",12,"abc2","1234","123fg"];
    a.forEach(function(value,index,item){
        if(typeof value=="string"){
            var arr=value.split("");//ab1转换为["a","b","1"]
            for(var key in arr){
                if(!isNaN(arr[key]))
                {
                    arr[key]="";
                }
            }
            item[index]=arr.join("");
        }
        else{
            {
                item[index]="";
            }
        }
    });
    var b=[];
    for( var key in a){
        if(a[key].length!=0)
        {
            b.push(a[key])
        }
    }
    console.log(b);
</script>

运行结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值