js 数组操作
toString():把数组转换成一个字符串
toLocaleString():把数组转换成一个字符串
join():把数组转换成一个用符号连接的字符串
shift():将数组头部的一个元素移出
unshift():在数组的头部插入一个元素
pop():从数组尾部删除一个元素
push():把一个元素添加到数组的尾部
concat():给数组添加元素
slice():返回数组的部分
reverse():将数组反向排序
sort():对数组进行排序操作
splice():插入、删除或者替换一个数组元素
1.shift
删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
- var a = [1,2,3,4,5];
- var b = a.shift(); //a:[2,3,4,5] b:1
2.unshift
将参数添加到原数组开头,并返回数组的长度
- var a = [1,2,3,4,5];
- var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7
3.pop
删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
- var a = [1,2,3,4,5];
- var b = a.pop(); //a:[1,2,3,4] b:5
4.push
将参数添加到原数组末尾,并返回数组的长度
- var a = [1,2,3,4,5];
- var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
5.concat
返回一个新数组,是将参数添加到原数组中构成的
- var a = [1,2,3,4,5];
- var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
6.splice(start,deleteCount,val1,val2,...)
从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
- var a = [1,2,3,4,5];
- var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
- var b = a.splice(0,1); //同shift
- a.splice(0,0,-2,-1); var b = a.length; //同unshift
- var b = a.splice(a.length-1,1); //同pop
- a.splice(a.length,0,6,7); var b = a.length; //同push
7.reverse将数组反序
- var a = [1,2,3,4,5];
- var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
8.sort(orderfunction)
按指定的参数对数组进行排序
- var a = [1,2,3,4,5];
- var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
9.slice(start,end)
返回从原数组中指定开始下标到结束下标之间的项组成的新数组
- var a = [1,2,3,4,5];
- var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
10.join(separator)
将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
- var a = [1,2,3,4,5];
- var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
11.数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push)、删除(shift)里面元素,我们还可以通过for循环遍历里面的元素,那么除了数组我们在JavaScript里还可以有别的集合吗?
由于JavaScript的语言特性,我们可以向通用对象动态添加和删除属性。所以Object也可以看成是JS的一种特殊的集合。下面比较一下Array和Object的特性:
- //Array:
- /*新建:*/var ary = new Array(); 或 var ary = [];
- /*增加:*/ary.push(value);
- /*删除:*/delete ary[n];
- /*遍历:*/for ( var i=0 ; i < ary.length ; ++i ) ary[i];
- //Object:
- /*新建:*/var obj = new Object(); 或 var obj = {};
- /*增加:*/obj[key] = value; (key为string)
- /*删除:*/delete obj[key];
- /*遍历:*/for ( var key in obj ) obj[key];
12.从上面的比较可以看出Object完全可以作为一个集合来使用,在使用Popup窗口创建无限级Web页菜单(3)中我介绍过Eric实现的那个__MenuCache__,它也就是一个模拟的集合对象。
如果我们要在Array中检索出一个指定的值,我们需要遍历整个数组:
- var keyword = ;
- for ( var i=0 ; i < ary.length ; ++i )
- {
- if ( ary[i] == keyword )
- {
- // todo
- }
- }
而我们在Object中检索一个指定的key的条目,只需要是要使用:
- var key = '';
- var value = obj[key];
- // todo
13.数组字符串化
arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用
14.数组的拷贝
arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向
arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向
14.prototype 属性
返回对象类型原型的引用。prototype 属性是 object 共有的。
objectName.prototype
objectName 参数是object对象的名称。
说明:用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。
对于数组对象,以以下例子说明prototype 属性的用途。
给数组对象添加返回数组中最大元素值的方法。要完成这一点,声明一个函数,将它加入 Array.prototype, 并使用它。
function array_max()
{
var i,
max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max();
该代码执行后,y 保存数组 x 中的最大值,或说 6。
15、constructor 属性
表示创建对象的函数。
object.constructor //object是对象或函数的名称。
说明:constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。
x = new String("Hi");
if (x.constructor == String) // 进行处理(条件为真)。
或者:
function MyFunc {
// 函数体。
}
y = new MyFunc;
if (y.constructor == MyFunc) // 进行处理(条件为真)。
js 数组操作的更多相关文章
- js数组操作-添加,删除
js 数组操作常用方法. push():在数组后面加入元素,并返回数组的长度 unshift():在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素 shift()删除第一个元素 var ...
- 页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作
页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...
- js数组操作-最佳图解
js数组操作-最佳图解
- js数组操作find查找特定值结合es6特性
js数组操作find查找特定值结合es6特性
- JS数组操作:去重,交集,并集,差集
原文:JS数组操作:去重,交集,并集,差集 1. 数组去重 方法一: function unique(arr) { //定义常量 res,值为一个Map对象实例 const res = new Map ...
- js数组操作
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...
- js数组操作【转载】
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵 ...
- php数组转换js数组操作及json_encode应用
对于php,个人感觉能够熟练操作数组和字符串,基本上已经是入门了,php本身有很多操作数组和字符串的函数,今天在做一个功能时,需要用Js动态的创建门店信息,这些信息是要从后台添加的,想来想去,通过ph ...
- js数组操作记录
一 .splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. arrayObject.splice(index,howmany,item1,.....,itemX) 参数 描述 in ...
- js 数组操作大集合
js数组的操作 用 js有非常久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目.用到数组的地方非常多.自以为js高手的自己竟然无从下手 ...
随机推荐
- mui---子页面调用父页面的自定义方法
目前在开发APP的时候,有这样的一个需求:需要在登录页面返回后能够刷新父页面. 功能是这样的:在 A.html页面有头像和用户昵称,这些信息需要用户进行登录才能够拿到,登录页面是在B.html,点击A ...
- html 自动弹出框
1.点击div外部隐藏, //*代表tip_box所包含的子元素 $('body').click(function(e) { var target = $(e.target); if(!target. ...
- 利用 background 和 filter 模糊指定区域
背景知识:background-size: cover;,background-attachment:fixed;,filter:blur() 难题: 通常,我们会通过filter:blur()去实现 ...
- CONVERT(varchar(10), getdate(), 120 )中数字参数用法
这是一个mssql数据库的函数,Convert函数的作用,是进行数据类型的转换.而您所问的这个convert(char(20),openDate,120)则是对日期字段,进行格式化转换成字符格式的函数 ...
- JavaScript学习11.30
window.history:包含浏览器的历史,可以不时用window这个前缀history.back():加载历史列表的前一个URLhistory.forward():加载历史列表的后一个URLwi ...
- 采用jquery同django实现ajax通信
在网页访问中通过HTTP协议中的get/post文件发送数据或请求.在浏览器中输入url后,浏览器就会帮助我们完成请求的发送和返回,并刷新更新界面.但是,如果我们不想更新界面,仅仅是发送一个get/p ...
- Python 文件内容读取
# 读取数据的函数 def readData(filename): with open(filename, 'r') as f: data = f.read().lower() data = list ...
- easyui-combotree个人实例
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- MySQL复制原理
mysql从3.23开始提供复制功能,复制指将主库的ddl和dml操作通过binlog文件传送到从库上执行,从而保持主库和从库数据同步.mysql支持一台主库同时向多台从库复制,从库同时也可以作为其他 ...
- 对爱奇艺PC Web主站来说,良好的SEO能够帮助其获得更多的搜索流量,因而页面上一些非常重要的内容仍然需要依靠服务端进行渲染,由于另外开发一套基于Node的SSR后台成本较高,而乐趣(基于java和velocity模板引擎)平台作为渲染系统已经十分成熟且运行稳定,在充分试验后,我们决定在Uniqy中使用服务端同步与客户端浏览器异步二次渲染相结合的方式,结合Vue2.0提供的 slot插槽机制,很
https://mp.weixin.qq.com/s/eB20BoqzENO_oNk8eDg4Eg 干货|爱奇艺PC Web新框架实践 原创: 前端研发团队 爱奇艺技术产品团队 昨天