JavaScript Array对象 知识点总结
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对象 知识点总结相关推荐
- JavaScript - Array对象的使用 及 数组排序 sort
<html><head><head><body><script language="javascript">// Arr ...
- Javascript Array对象
在javascript中所有的数组都是Array对象.我们可以通过Array类来创建,维护数组. 在javascript中有好几种创建数组的方法 var arr = new Array(); // ...
- JavaScript Array 对象(length)方法 (contact、push,pop,join,map、reverse、slice、sort)
一.Array对象属性 1.length 设置或返回数组中元素的数目. 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1.对于那些具有连续元素,而且以元素 0 开始的常规数组而言, ...
- Javascript Array对象 sort()方法,记忆方法,方法扩展
相信 有很多 同仁们,尤其是初学者,在记住 Array对象 sort() 方法的排序,规则上,有点困难: 其实sort()方法已经在实际工作中用到很多遍了,可当我仔细推敲,这个sort()方法,什么时 ...
- JavaScript Array对象用于定义数组
数组定义格式 方式1: var 变量名 = new Array(元素列表); var arr = new Array(1,2,3); //1,2,3 是存储在数组中的数据(元素) 方式2:var 变量 ...
- javascript Array对象基础
感觉自己对Array对象总是有种朦胧的感觉,今天自己手写总结,加深一下印象. 对于Array对象我的总结思想是:5法,3招,12式 1.声明5法:只针对一维数组,当然还有二维三维,这里就不做解释了 v ...
- 会员卡计次卡会员管理系统,JavaScript Array 对象
new Array(); new Array(size); new Array(element0, element1, ..., elementn); new Array(); new Array(s ...
- JavaScript Array 对象方法
data.sort(function(a,b){return a.time>b.time?1:-1}); http://www.w3school.com.cn/jsref/jsref_obj_a ...
- Javascript学习总结三(Array对象的用法)
javascript Array对象的常用API 1:concat concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 举例: var a1 ...
最新文章
- 【pyQuery】抓取startup news首页
- Android Fragmnet的使用新体会
- matplotlib全图
- java object save,通过ObjectOutputStream发送文件,然后将其保存在Java中?
- 虚拟机建立快照_使用qmeu-img创建虚拟机(创建虚拟机,虚拟机快照)
- 1231 sqlserver_sqlserver 删除表中 指定字符串
- python ftplib模块_python:ftplib模块
- serialVersionUID干嘛用的?
- 基于深度卷积神经网络的农作物病害识别
- Android用表格布局做菜单栏,Android开发菜单布局之表格布局示例
- 中文HanLp分词入门
- C语言实现二维伊辛模型的蒙特卡罗方法模拟
- linux的acid属性,Linux_Linux下主要浏览器Acid3大测试(组图),最近浏览器大战愈演愈烈,而 - phpStudy...
- Premiere Pro CC2017软件安装资料及教程
- 树莓派CM4_Tiny(双HDMI)扩展板基于Retropie的游戏配置操作演示
- 人工智能研究中心快递柜——代码分析十一
- 心率检测实现报告(三)
- 渐变:线性渐变、径向渐变
- MTP in Android详解
- html滚动字幕图片,网页HTML代码滚动文字制作