博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript基础之数组(Array)对象
阅读量:4687 次
发布时间:2019-06-09

本文共 2069 字,大约阅读时间需要 6 分钟。

一、数组的创建

方式一

var a = new Array();
  a[0]="wo";
  a[1]="My Name"
  a[2]=5
  a[3]={x:1 , y:3}

方式二

var a=new Array("wo","My Name",5,{x:1 , y:3});
  var a2=new Array(13);//注意,这个13是表示a有13个未定义元素!(因为这时候只传给Array一个参数)

方式三

var a=["wo","My Name",5,{x:1 , y:3}];
  var a2=[[1,2,3],[1,2,3]];//可以嵌套
 
var i=11;
  var a3=[i,i+1,i+2];//可以为变量
  var a4=[1,,,,5];//有3个未定义的元素

二、数组的函数

1. join() 把所有的元素转换为字串,参数作为分隔符(默认分隔符是 ,) 

var a=[1,2,3];
             a.join();//1,2,3
             a.join(" : ");//1 : 2 : 3

2.reverse() 对数组反向排序 sort() 默认按照UTF-8码的顺序排序,可以传一个参数,如果返回一个小于等于0的数,第1个参数出现在第2个参数前面,反之同理

       function randOrd(){
               return (Math.round(Math.random())-0.5);
            }
 
           anyArray = new Array('3','a','5','F','x','47');
             anyArray.sort( randOrd );       //把数组乱序排列

3.concat() 返回一个数组,包含了原数组和参数

anyArray = new Array(47,33);
 
            anyArray.concat(8,99,88 );
              //[47,33,8,99,88]
 
            anyArray.concat([8,99],[88,53] );       
              //[47,33,8,99,88,53],会自动把参数中数组拆包一层
 
        anyArray.concat(2,[3,[4,5]]);   
              //[47,33,2,3,[4,5]],拆包只拆一层

4.slice() 返回一个数组的切片,返回规则如下

  var a = [1,2,3,4,5]
              a.slice(0,3); //返回a[0]至a[2],即[1,2,3]
              a.slice(3);        //返回a[3]至结尾,即[4,5]
              a.slice(1,-1);//返回a[1]至最后一个元素[2,3,4]
              a.slice(-3,-2);//返回[3]

5.splice() 可以删除/添加原数组元素,同时返回删除的值 

  var a = [1,2,3,4,5,6,7];
              a.splice(4);
              //删除a[4]至结尾,同时返回删除的值,即a=[1,2,3,4],返回[5,6,7]
 
             var a = [1,2,3,4,5,6,7];
               a.splice(3,3,"a","b");
               //从a[3]开始,删除3个元素(包括a[3]),同时在从a[3]开始插入"a","b"作为新的元素,返回删除的值
          //即a=[1,2,3,"a","b",7],返回[4,5,6]
 
            var a = [1,2,3,4,5,6,7];
              a.splice(3,0,["a",2],"k");
              //返回[],a=[1,2,3,["a",2],"k",4,5,6,7] ,splice()不会对添加的数组拆包

6.push()和pop()          

  var stack=[];
             stack.push(1,2);//stack=[1,2],return 2(2表示数组长度)
             stack.pop();//stack=[1],return 2
             stack.push(3);//stack=[1,3],return 2(2表示数组长度)
             stack.pop();//stack=[1],return 3
             stack.push([4,5]);//stack=[1,[4,5]],return 2
             stack.pop();//stack=[1],return [4,5]
             stack.pop();//stack=[],return 1

7.unshift()和shift() 和push()和pop()类似,不过是在数组的头进行操作 

var a=[2];
            a.unshift(1);
            //a=[1,2]
            //IE(包括IE7)和标准的规定返回值却不同,Gecko/Opera 中返回值为新数组的长度,而 IE 中没有返回值,也就是返回值是 undefined。因此,编程时不要依赖这个返回值。         a.unshift(3,[4,5]);//a=[3,[4,5],1,2]
            a.shift();
            //返回3

8.toString() toString等价于参数为空格的join 

转载于:https://www.cnblogs.com/lrh-liuronghua/p/3281800.html

你可能感兴趣的文章
ASP.NET WEB API路由机制
查看>>
EventLoop-浏览器与Node.js--整理
查看>>
python模块基础之OS模块
查看>>
结对项目---万年历
查看>>
PythonCookbook读书笔记
查看>>
导航 navigationbar 与 tabbar
查看>>
医学图像"填洞"处理-image fill holes
查看>>
django数据库设置为MySQL
查看>>
练习环境说明
查看>>
dhcpd中的mac
查看>>
手机页面rem响应式布局
查看>>
HTML data-* 自定义属性
查看>>
天书夜读:从汇编语言到Windows内核编程笔记(3)
查看>>
基于STEP7 V5.x&WinCC V7.x快速开发项目
查看>>
分页插件PageHelper
查看>>
编译lua5.3.2报错提示libreadline.so存在未定义的引用解决方法
查看>>
[Python设计模式] 第14章 老板来了——观察者模式
查看>>
poj 3190(贪心)
查看>>
Android 开发环境搭建之——ADT-Bundle for Windows
查看>>
FileStream:The process cannot access the file because it is being used by another process
查看>>