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,表示第一个元素排在第二个元素后面;其他情况下,都是第一个元素排在第二个元素前面。
JavaScript Array对象 知识点总结的更多相关文章
- JavaScript Array 对象
JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...
- 浏览器端-W3School-浏览器端:JavaScript Array 对象
ylbtech-浏览器端-W3School-浏览器端:JavaScript Array 对象 1.返回顶部 1. Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对 ...
- JavaScript Array对象
介绍Js的Array 数组对象. 目录 1. 介绍:介绍 Array 数组对象的说明.定义方式以及属性. 2. 实例方法:介绍 Array 对象的实例方法:concat.every.filter.fo ...
- JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法
JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...
- 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( ...
- Javascript Array对象 sort()方法,记忆方法,方法扩展
相信 有很多 同仁们,尤其是初学者,在记住 Array对象 sort() 方法的排序,规则上,有点困难: 其实sort()方法已经在实际工作中用到很多遍了,可当我仔细推敲,这个sort()方法,什么时 ...
- JavaScript Array 对象(length)方法 (contact、push,pop,join,map、reverse、slice、sort)
一.Array对象属性 1.length 设置或返回数组中元素的数目. 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1.对于那些具有连续元素,而且以元素 0 开始的常规数组而言, ...
- javascript Array对象笔记
Array对象 利用new Array() var arr1=new Array(1,2) 注意 如果括号里面只有一个数字则表示的是数组的长度 检测是否是数组 ...
- 13 JavaScript Array对象&Boolean对象&Math对象&RegExp对象
万物皆对象,数组是对象,数组可以存储元素,函数,数组等对象 创建数组的三个方式: 常规方式:var myCars = new Array(); 简介方式:var myCars = new Arrray ...
随机推荐
- python 练习(一)代码统计工具的实现
最近部门成立了一个python学习小组,旨在让大家在做项目中开始成长起来,于是老大就给布置了第一个小任务:代码统计工具,具体的需求如下: 需求: . 能够统计指定目录下C++程序的代码行数. . C+ ...
- 在Repeater中嵌套使用Repeater
在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加 ...
- 跟着8张思维导图学习javascript
学习的道路就是要不断的总结归纳,好记性不如烂笔头,so,下面将po出8张javascript相关的思维导图. 思维导图小tips:思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又 ...
- android抽屉总结
android抽屉:1.DrawerLayout 在xml文件中要注意写全称:android.support.v4.widget.DrawerLayout <LinearLayout /> ...
- arraylist与linkedlist的区别与性能测试
/** *arraylist和linkedlist的适用场合. **/ import java.util.List; import java.util.ArrayList; import java.u ...
- 有向图的强连通图——Kosaraju
有向图的强连通分量: 相互可达关系,每一个集合都是有向图的一个强连通分量SCC. 把一个集合看成一个点,SCC就形成了一个有向无环图——DAG; 如果DFS选择不好,从A点开始DFS,就会 ...
- MySql + EF6 + .Net Core
2016年8月17日01:21:29 更新:这里介绍一下一个开源的 EF Core 的 MySQL 组件 [MySQL for .NET Core - Pomelo 扩展包系列][http://www ...
- Bootstrap_导航条
一.基础导航条 在制作一个基础导航条时,主要分以下几步: 第一步:首先在制作导航的列表(<ul class=”nav”>)基础上添加类名“navbar-nav” 第二步:在列表外部添加一个 ...
- Cheatsheet: 2016 01.01 ~ 01.31
Mobile An Introduction to Cordova: Basics Web Angular 2 versus React: There Will Be Blood How to Bec ...
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序实现继承
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第十一篇:为ASP.NET MVC应用程 ...