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,表示第一个元素排在第二个元素后面;其他情况下,都是第一个元素排在第二个元素前面。

转载于:https://www.cnblogs.com/mengxiang-1234/p/4676322.html

JavaScript Array对象 知识点总结相关推荐

  1. JavaScript - Array对象的使用 及 数组排序 sort

    <html><head><head><body><script language="javascript">// Arr ...

  2. Javascript Array对象

    在javascript中所有的数组都是Array对象.我们可以通过Array类来创建,维护数组. 在javascript中有好几种创建数组的方法 var arr = new Array();   // ...

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

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

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

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

  5. JavaScript Array对象用于定义数组

    数组定义格式 方式1: var 变量名 = new Array(元素列表); var arr = new Array(1,2,3); //1,2,3 是存储在数组中的数据(元素) 方式2:var 变量 ...

  6. javascript Array对象基础

    感觉自己对Array对象总是有种朦胧的感觉,今天自己手写总结,加深一下印象. 对于Array对象我的总结思想是:5法,3招,12式 1.声明5法:只针对一维数组,当然还有二维三维,这里就不做解释了 v ...

  7. 会员卡计次卡会员管理系统,JavaScript Array 对象

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

  8. JavaScript Array 对象方法

    data.sort(function(a,b){return a.time>b.time?1:-1}); http://www.w3school.com.cn/jsref/jsref_obj_a ...

  9. Javascript学习总结三(Array对象的用法)

    javascript Array对象的常用API 1:concat concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 举例: var a1 ...

最新文章

  1. 【pyQuery】抓取startup news首页
  2. Android   Fragmnet的使用新体会
  3. matplotlib全图
  4. java object save,通过ObjectOutputStream发送文件,然后将其保存在Java中?
  5. 虚拟机建立快照_使用qmeu-img创建虚拟机(创建虚拟机,虚拟机快照)
  6. 1231 sqlserver_sqlserver 删除表中 指定字符串
  7. python ftplib模块_python:ftplib模块
  8. serialVersionUID干嘛用的?
  9. 基于深度卷积神经网络的农作物病害识别
  10. Android用表格布局做菜单栏,Android开发菜单布局之表格布局示例
  11. 中文HanLp分词入门
  12. C语言实现二维伊辛模型的蒙特卡罗方法模拟
  13. linux的acid属性,Linux_Linux下主要浏览器Acid3大测试(组图),最近浏览器大战愈演愈烈,而 - phpStudy...
  14. Premiere Pro CC2017软件安装资料及教程
  15. 树莓派CM4_Tiny(双HDMI)扩展板基于Retropie的游戏配置操作演示
  16. 人工智能研究中心快递柜——代码分析十一
  17. 心率检测实现报告(三)
  18. 渐变:线性渐变、径向渐变
  19. MTP in Android详解
  20. html滚动字幕图片,网页HTML代码滚动文字制作

热门文章

  1. 数据库索引的使用及优化
  2. 如何通过JS获取元素宽高
  3. honeywell新风系统控制面板说明_觉得家里新风不给力了?一定是你不知道这些!
  4. 还款压力大要不要买房?
  5. 你有过什么令你难忘的约会经历?
  6. 农村男女离婚,为什么感觉很多都是女人什么都带不走?
  7. 世界上最贵的车是直通车吗?
  8. 如何实现公平的效绩考核?
  9. 我们团队有个做风水项目的现在月收入也有几万了
  10. python入门——P39类和对象:拾遗