1 isArray方法

该方法是Array对象的静态方法,用来判断一个值是否为数组,它可以弥补typeof运算符的不足。

用法是Array.isArray(array实例)

通用的判断对象数据类型的方法是Object.prototype.toString.call(obj) === "[object type]",

比如 Object.prototype.toString.call([1,2,3]) === "[object Array]"

2 Arry实例的方法

toString:把数组转换为字符串,并返回结果。

var arr = [1,2,3];
arr.toString()//"1,2,3"

上面可以看出一个小技巧:通过toString方法可以直接将数组分割为逗号链接的字符串,结果跟arr.join()差不多。


push:向数组的末尾添加一个或更多元素,并返回新的长度。

var arr = [1,2,3];
arr.push.apply(arr, [4,5]);//[1,2,3,4,5]
// arr.push.call(arr, [6,7])的结果呢?[1,2,3,4,5,[6,7]]

你知道为什么上面的结果是[1,2,3,4,5]么?因为Function.prototype.apply方法的第二个参数是个数组或者类数组,我现在传的是个数组,apply方法会认为我要传二个参数,相当于是执行arr.push(4,5).


join:把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

大家知道通过call或者apply方法可以调用别的对象(比如Array)的方法,那么字符串对象也可以调用Array的join方法,看下面:

var s = "mengxiang";
[].join.call(s, "-") //"m-e-n-g-x-i-a-n-g"

concat:连接两个或更多的数组,并返回结果。

注意事项:当数组中包含对象时,新的数组中包含的是对象的引用,很多人称之为浅拷贝。

var o = {a:1};
var oldArray = [o]; var newArray = oldArray.concat();//[{a:1}]
o.a = 2;
newArray; //[{a:2}]

从上面的例子可以看到,当修改对象的成员的值时,newArray的值也随之改变了,可以验证我们的结论。


slice:从某个已有的数组返回选定的元素,组成新的数组返回,不修改原数组

小技巧:将类数组转化为数组,[].slice.call(arguments);


sort:对数组的元素进行排序,默认是按照字典顺序排序

arrs = [101,1001,10001,111]
arrs.sort()//[10001, 1001, 101, 111]

sort支持函数作为第一个参数,该函数本身又接受两个参数,表示进行比较的两个元素。如果返回值大于0,表示第一个元素排在第二个元素后面;其他情况下,都是第一个元素排在第二个元素前面。

JavaScript Array对象 知识点总结的更多相关文章

  1. JavaScript Array 对象

    JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...

  2. 浏览器端-W3School-浏览器端:JavaScript Array 对象

    ylbtech-浏览器端-W3School-浏览器端:JavaScript Array 对象 1.返回顶部 1. Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对 ...

  3. JavaScript Array对象

    介绍Js的Array 数组对象. 目录 1. 介绍:介绍 Array 数组对象的说明.定义方式以及属性. 2. 实例方法:介绍 Array 对象的实例方法:concat.every.filter.fo ...

  4. JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法

    JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...

  5. JavaScript Array 对象方法 以及 如何区分javascript中的toString()、toLocaleString()、valueOf()方法

    1.concat() 2.join() 3.pop() 4.push() 5.reverse() 6.shift() 7.unshift() 8.slice() 9.sort() 10.splice( ...

  6. Javascript Array对象 sort()方法,记忆方法,方法扩展

    相信 有很多 同仁们,尤其是初学者,在记住 Array对象 sort() 方法的排序,规则上,有点困难: 其实sort()方法已经在实际工作中用到很多遍了,可当我仔细推敲,这个sort()方法,什么时 ...

  7. JavaScript Array 对象(length)方法 (contact、push,pop,join,map、reverse、slice、sort)

    一.Array对象属性 1.length 设置或返回数组中元素的数目. 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1.对于那些具有连续元素,而且以元素 0 开始的常规数组而言, ...

  8. javascript Array对象笔记

    Array对象     利用new Array()     var arr1=new Array(1,2)     注意     如果括号里面只有一个数字则表示的是数组的长度     检测是否是数组 ...

  9. 13 JavaScript Array对象&Boolean对象&Math对象&RegExp对象

    万物皆对象,数组是对象,数组可以存储元素,函数,数组等对象 创建数组的三个方式: 常规方式:var myCars = new Array(); 简介方式:var myCars = new Arrray ...

随机推荐

  1. 关于安装qt之后的qmake命令

    今天通过在archlinux中安装qt5发现了关于qmake这个命令的一些事情. 1. /bin/qmake 是 /bin/qtchooser 的符号链接,/bin/qtchooser 由一个叫 qt ...

  2. mysql部署到云主机的笔记

    写了个程序,需要把数据库部署到云主机上 MySQL基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限 为了安全,新添加一个用户来进行远程登录 登录MYSQL: ...

  3. jquery判断起止时间大小和非空

    //时间判断 function CheckDate() { var startTime = $('#txtTime').val(); //获取当前日期 var start = new Date(sta ...

  4. 【实践】jquery实现滑动动画及轮播

    在做这个之前我已经模仿了一遍大神的轮播动画做了一次其切换模式就是一张图片隐藏另一张图片显示过渡效果是渐入(fadein),但是目前的动画切换大多数都是用图片的左右切换动作的于是在网上看了一些关于这类型 ...

  5. VM arguments

    VM arguments -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m

  6. Python—装饰器

    装饰器 1.普通函数 #简单的函数和调用 def a1(): print("i am zhangsan") def a2(): print("i am lisi" ...

  7. 卸载cygwin

    1.下载takeown.exe(貌似win自带,你可以打开cmd 输入takeown.exe查看,貌似不行)所以还是去网上下载吧,亲测http://download.csdn.net/download ...

  8. session失效后,登录页面嵌入iframe框架

    在登录页面的onload方法中加入以下代码解决: //防止登录页面嵌入iframe框架 if (top.location != self.location){ top.location=self.lo ...

  9. wifi 驱动移植范例

    .改Makefile:  里面没有dm6441平台的,我看到有dm6446的,所以就在这里改了 ifeq ($(PLATFORM),DM6446) LINUX_SRC = /root/work/lin ...

  10. 页面缩放对css的影响

    昨天发现一个上线的项目css样式明显不对,但是查看别人的电脑上的页面样式都是没问题的,于是找了半天原因,原来是我的浏览器对这个页面缩放了,导致样式问题. 发现了页面缩放会作用在同一个域名下的所有页面, ...