创建数组

  var a=[1,2,3,4]

  var arr=new Array()

  var arr=new Array(10);//创建长度为10的数组

    var arr=new Array(1,2,3,4,5,6);//创建数组

arr.length==6;

数组的删除delete  var a=[1,2,3];

  delete a[0];

  1 in a   //false,

  a.length //3,delete操作并不会影响数组的长度

数组的遍历

  for/in    forEach

    var a=[1,2,3];

    var b=0;

    a.forEach(function(x){

      b+=x;//相加

    })

数组的方法

  Array.jion();//将所有的元素转换为字符串并连接在一起,默认逗号连接,有一个参数,可以修改连接的样式

  Array.reverse();//将数组反向排序

  Array.sort();//将数组排序后并返回排序后的数组,如果不带参数,默认字母表顺序,有参数根据回调函数的返回值来确认顺序

    var a=[33,4,1111,222];

    a.sort();//1111,222,33,4;

    a.sort(function(a,b){

      return a-b;//4,33,222,1111

    });

    a.sort(function(){

      return b-a;//1111,222,33,4

    })

  Array.concat();//连接数组

    var a=[1,2,3];

    a.concat(4,5);//[1,2,3,4,5]

    a.concat([4,5]);//[1,2,3,4,5]

    a.concat([4,5],[6,7]);//[1,2,3,4,5,6,7]

    a.concat([4,[5,[6,7]);//[1,2,3,4,5,[6,7]]

  Array.slice();返回指定数组的片段

    var a=[1,2,3,4,5];

    a.slice(0,3);//[1,2,3,4];

    a.slice(3);//[4,5];

    a.slice(1,-1);//[2,3,4];

    a.slice(-3,-2);//[3]

  Array.splice();splice()会修改数组,第一个参数起始点,第二个参数删除的个数,之后的参数是插入的元素,插入元素的起始点就是第一个参数,注意,插入的数组是数组本身,不是里面的元素

  Array.push()和Array.pop();push在尾部添加元素,pop在尾部删除元素,修改原来的数组

  Array.unshift()和Array.shift();unshift在头部添加元素,shift在头部删除元素,修改原来的数组

  Array.toString()和Array.toLocalString();转换为字符串

ES5中数组的方法

  forEach()方法

  map()方法

    var a=[1,2,3];

    b=a.map(function(x){

      return x*x;//b是[1,4,9]

    })

  filter()

    var a=[5,4,3,2,1];

    b=a.filter(function(x){

      return x<3;//[2,1]

    })

    var a=[5,4,3,2,1];

    b=a.filter(function(x,i){

      return i%2==0;//[5,3,1],i是filter的第二个参数,他表示的是数组的下标,还有第三个参数当期元素属于数组的对象

    })

  every()和some();是数组的逻辑判断

    var a=[5,4,3,2,1];

    b=a.every(function(x){

      return x<10;//true;

    })

     var a=[5,4,3,2,1];

    b=a.some(function(x){

      return x%2===0;//false;

    })

  reduce()和reduceRight()

    var a=[5,4,3,2,1];

    b=a.reduce(function(x,y){

      return x+y;//数组求和

    },0)

    b=a.reduce(function(x,y){

      return x*y;//数组求积

    },1)

    b=a.reduce(function(x,y){

      return x>y?x:y;//求最小值

    },1)

    reduce()//两各参数,第一个参数执行函数,第二个参数可选初始值,第一次执行函数时,初始值作为函数的第一个参数,以后执行函数返回的值作为函数第一个参数

    reduceRight()和reduce()一样,执行从最后一个元素开始执行

  indexOf()和lastindexOf;搜索数组的指定的元素,如果找到返回下标,如果没找到返回-1

数组的类型

  Array.isArray([]);//true

  Array.isArray([]);//false

    

数组 javaScript权威指南笔记的更多相关文章

  1. javascript权威指南笔记

    最近每天工作之余看下js的细节部分,时间不是很多,所以看的进度也不会太快,写个博客监督自己每天都看下. 以前不知道的细节或者以前知道但是没注意过的地方都会记录下来,所以适合有一定基础的,不适合零基础新 ...

  2. javascript权威指南笔记--javascript语言核心(四)

    对象: 通过引用(而非值)来操作对象: var obj = {"x":1,"y":2}; var copyObj = obj; copyObj.x = 5; c ...

  3. javascript权威指南笔记--javascript语言核心(三)

    1.var用来声明一个或多个变量.全局变量是全局对象的属性,它无法通过delete删除. 如果var语句中的变量没有指定初始化表达式,那么这个变量的初始值为undefined. 变量声明语句会被提前到 ...

  4. javascript权威指南笔记--javascript语言核心(二)

    1.函数作用域:在函数内声明的所有变量在函数体内始终是可见的.这意味着在变量声明之前甚至已经可用. *“声明提前”:javascript函数里声明的所有变量(但不涉及赋值)都被提前至函数的顶部. fu ...

  5. javascript权威指南笔记--javascript语言核心(一)

    1.javascript的数据类型分为两类:原始类型和对象类型. 原始类型包括字符串.数字.布尔值.null.undefined. 对象是属性的集合,每个对象都由“名/值”对构成.数组和函数是特殊的对 ...

  6. 1.语言概述-JavaScript权威指南笔记

    上周三的时候交给老板目前的项目第一个迭代回顾会的总结.原本是以综述性的表述方式写的,交给他之后表示程序员不要长篇大论.总结要分为优点缺点期望等等块,每块列出条目,简明扼要的表达出来.这里也用这种风格. ...

  7. [JavaScript权威指南 [笔记]

    对象的比较均是引用的比较.(不可变的原始值和可变的对象引用)this返回调用这个方法的对象通过x!==x来判断x是否为NaNvar max = max_width || preferences.max ...

  8. javascript权威指南笔记[1-5]

    1.javaScript的数据类型分为两类:原始类型和对象类型: 2.javaScript中除了数字,字符串,布尔值,null,undefined之外就是对象了: 3.对象(object)是属性(pr ...

  9. 2.语言概述-JavaScript权威指南笔记

    上周三的时候交给老板目前的项目第一个迭代回顾会的总结.原本是以综述性的表述方式写的,交给他之后表示程序员不要长篇大论.总结要分为优点缺点期望等等块,每块列出条目,简明扼要的表达出来.这里也用这种风格. ...

随机推荐

  1. 【BZOJ1045】[HAOI2008]糖果传递

    [BZOJ1045][HAOI2008]糖果传递 题面 bzoj 洛谷 题解 根据题意,我们可以很容易地知道最后每个人的糖果数\(ave\) 设第\(i\)个人给第\(i-1\)个人\(X_i\)个糖 ...

  2. 转载-30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)

    原文:30分钟搞定后台登录界面(103个后台PSD源文件.素材网站)   目录 一.界面预览 二.PSD源文件预览 三.工具分享 四.资源说明 五.素材下载网站 六.下载 去年八月时要做一个OA系统为 ...

  3. selenium无法正常运行 Chrome浏览器,cannot find Chrome binary的问题

    有些同学在运行selenium-chrome时会遇到这个问题, System.setProperty("webdriver.chrome.driver","files/c ...

  4. AltiumDesigner 热焊盘铺铜

    在layout中,引脚与大面积的铺铜完全连接容易造成过分散热而产生虚焊以及避免因过分散热而必须使用大功率焊接器,因此在大面积铺铜时,对于接地引脚,我们经常使用热焊盘.在AltiumDesigner 中 ...

  5. OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor

    在python用cv2.imread()读取图片的时候一直报错,检查了图片的绝对路径是存在的. 报错的图片用skimage.io.imread()是可以读的. 查了一下,有可能是原图片文件有什么嵌入错 ...

  6. 我是如何将页面加载时间从6S降到2S的?

    写在前面 生活在信息爆炸的今天,我们每天不得不面对和过滤海量的信息--无疑是焦躁和浮动的,这就意味着用户对你站点投入的时间可能是及其吝啬的(当然有一些刚需站点除外). 如何给用户提供迅速的响应就显得十 ...

  7. killall命令详解

    基础命令学习目录首页 原文链接:https://blog.csdn.net/tanga842428/article/details/52474250 Linux系统中的killall命令用于杀死指定名 ...

  8. python循环综合运用

    循环很重要,计算机很蠢,唯一的优势就是按照指令不停的执行,所以决定在说一下. break语句,用在循环体中,迫使循环立即终止,即跳出所在循环体,继续执行循环体后面的语句. sum=0 i=1 whil ...

  9. OGG 跳过事务(转)

    http://blog.chinaunix.net/uid-26190993-id-3434074.html    在OGG运行过程中,通常会因为各种各样的原因导致容灾端的REPLICAT进程ABEN ...

  10. HDFS handler

    http://docs.oracle.com/goldengate/bd1221/gg-bd/GADBD/GUID-85A82B2E-CD51-463A-8674-3D686C3C0EC0.htm#G ...