javascript数组基本方法
一、数组方法

1)concat
该方法用于连接两个或多个数组,返回连接成的新数组的副本,不会改变现有数组
[1,2,3].concat(5,6);//返回[1,2,3,5,6]
2)join
用于把数组的所有成员拼接成一个字符串,元素是通过指定的分隔符进行分隔的,参数为分隔符
[1,2,3].join("+")//返回1+2+3
3)pop
删除并返回数组的最后一个元素
4) push
向数组的末尾添加一个或者多个元素,并返回新的长度
[1,2,3].push(4,5)//新数组[1,2,3,4,5] 返回值5
6) reverse
用于颠倒数组中元素的顺序,返回跳到顺序后的数组,该方法会改变原来的数组,不会产生新的数组
[1,2,3].reverse()//返回 [3,2,1]
7) shift
删除并返回数组第一个元素
8) slice
从已有的数组中返回选定的元素
slice(star,end) 第一个参数为起始位置,第二个为结尾位置,无end参数的话则选中至数组结尾
该方法不会改变原来的数组 而会返回一个子数组,可以使用负值从数组的尾部选取元素
9) splice
该方法从数组中添加/删除项目,并返回被删除的项目,该方法会改变原始数组
arrayObject.splice(index,haomany,item1...itexmX)
参数index 必需,规定删除/添加项目的位置,使用负数则从数组结尾处规定位置
参数haomany 必需,要删除的项目数量,为0则不删除项目
参数item1....itemX 可选,向数组中添加的新项目
[1,2,3,4,5].splice(1,3,"hello")//返回[1,"hello",5]
10) sort
对数组元素进行排序
arrayObject.sort(sortby) 参数sortby规定排序顺序,必需为函数
返回值 对数组的引用 不会生成新数组 而是在原数组上进行排序
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,
sortby比较函数 function(a,b) { return a - b } 返回值如下
- 若 a 小于 b,,则返回一个小于 0 的值,在排序后的数组中 a 应该出现在 b 之前
- 若 a 等于 b,则返回 0。a、b顺序不变
- 若 a 大于 b,则返回一个大于 0 的值。a在b之后
[1,10,2,100,30].sort()//返回[1,10,100,2,30] 未传排序参数 按照首字符编码进行排序
[1,10,2,100,30].sort(function(a,b) { return a - b }) // 传排序函数 升序 返回[1,2,10,30,100]
[1,10,2,100,30].sort(function(a,b) { return b - a }) // 传排序函数 降序 返回[100,30,10,2,1]
11) toSource
表示对象的源代码,数组 对象均支持,不常用,通常javascript后台调用 不显式的出现在代码中,只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。
12) toString 把数组转化成字符串,并返回该字符串,不改变原数组
[1,2,3].toString()//返回1,2,3
13) toLocaleString 把数组转化成本低字符串并返回结果,首先调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串。
14)unshift
向数组开头添加一个或多个项目,并返回数组新的长度
[1,2,3].unshift(4,5) //数组变为[4,5,1,2,3] 返回值5
15)valueOf()
返回 Array 对象的原始值。
该原始值由 Array 对象派生的所有对象继承。
valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
javascript数组基本方法的更多相关文章
- javascript数组原型方法
1.javascript数组原型方法. <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- JavaScript数组归并方法reduce
示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF ...
- JavaScript——数组——slice方法
JavaScript--数组--slice方法 JavaScript中的slice方法类似于字符串的substring方法,作用是对数组进行截取. slice方法有两个参数,indexStart 和 ...
- JavaScript数组去重方法及测试结果
最近看到一些人的去面试web前端,都说碰到过问JavaScript数组去重的问题,我也学习了一下做下总结. 实际上最有代表性也就三种方法:数组双重循环,对象哈希,排序后去重. 这三种方法我都做了性能测 ...
- JavaScript 数组去重方法总结
1.遍历数组法: 这应该是最简单的去重方法(实现思路:新建一新数组,遍历数组,值不在新数组就加入该新数组中) // 遍历数组去重法 function unique(arr){ var _arr = [ ...
- JavaScript数组处理方法
JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组 var arr2 = new Array(20); / ...
- JavaScript 数组去重 方法汇总
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- JavaScript数组对象方法
数组的方法:首先,数组的方法有数组原型方法,也有从object对象继承来的方法.这里只详细说明一下数组的原型方法. (1)join:把数组中的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. 例 ...
- 松软科技web课堂:JavaScript 数组迭代方法
数组迭代方法对每个数组项进行操作,听着挺高深,其实,就是对数组对象一次性逐一进行一种操作的一种叫法.(文章来源:www.sysoft.net.cn,加v:15844800162深度交流) Array. ...
- Javascript数组原型方法大全以及实例!!
数组的方法有数组原型方法,也有从object对象继承来的方法,这里我们只介绍数组的原型方法,数组原型方法主要有以下这些: join() push()和pop() shift() 和 unshift() ...
随机推荐
- qrcode.js插件将你的内容转换成二维码格式
---qrcode.js插件将你的内容转换成二维码格式--- 我之前一直想知道二维码是怎么生成,所以就了解了一下, 最后还是不知道它的原理, 但是,我知道怎么生成. 现在就让我带你制作一个你喜爱的二维 ...
- android code 和js的交互
小弟现在需要android code 和js的交互.出现了问题,求大家带一带啊. 我的页面:<!DOCTYPE html><html lang="en">& ...
- 如何为企业选择最理想的Linux服务器系统?
[2013年10月12日 51CTO外电头条]什么样的Linux服务器最合适您的企业?简言之,它需要为员工带来工作所需的理想支持效果. 相对于成百上千种Linux桌面系统,Linux服务器系统的数量其 ...
- 深入了解一下PYTHON中关于SOCKETSERVER的模块-D
在LINUX上以FORK的方式使用SIMPLEHTTPSERVER. 记得哟,THREADING能在WIN和LINUX上实现,但FORK,不支持WIN的. 除了SIMPLE之外,还有CGI,就不示例啦 ...
- scanf(),fscanf的详解
我们这里只讨论fscanf(或者scanf)的格式,因为这些细节在其他贴里并没有涉及,阅读此文,你可以少走一些弯路.只讲结果,深层原因并不分析. FILE *pFile:float x1; char ...
- android design library提供的TabLayout的用法
在开发中,我们常常需要ViewPager结合Fragment一起使用,如下图: 我们可以使用三方开源的PagerSlidingTabStrip去实现,或者viewpagerindicator,我一般都 ...
- 优雅的让Fragment监听返回键
转载请注明出处:http://write.blog.csdn.net/postedit/40507387 Activity可以很容易的得到物理返回键的监听事件,而Fragment却不能.假设Fragm ...
- Bluetooth LE(低功耗蓝牙) - 第一部分
前言 在写这篇文章的时候,谷歌刚刚发布了Android Wear ,摩托罗拉也发布了 Moto 360 智能手表.Android Wear的API还是相当基本的,是很好的文档材料,而且还会不断的更新, ...
- 为什么Nhibernate中属性和方法必须Virtual的
如果你曾经用过NHibernate 2.0或者更高的版本,那您一定碰到过下面的错误:NHibernate.InvalidProxyTypeException: The following types ...
- :: error: 无法打开文件“d:\Qt\2010.05\qt\lib\qtmaind.lib”
新建一个工程马上编译也会出现这个错误:: error: 无法打开文件“d:\Qt\2010.05\qt\lib\qtmaind.lib” vc的编译器, 而你安装的是mingw版本的qt. 工具-选项 ...