js操作数组
一、数组的声明方式:
var colors = new Array();//创建数组
var colors = new Array(20);//创建20个长度的数组
var colors = new Array("Greg");//创建字符串数组
var name=[];//空数组
var a = [[1,2],[3,4]];//多维数组
关联数组:
var lennon = Array ();
lennon["name"] = "john";
lennon["year"] = 1940;
lennon["living"] =false;
对象数组:
var a={name:123};
var b={age:456};
var objarr = [a,b];
//输出对象的名和值
alert(Object.keys(objarr[0])+":"+objarr[0].name+","+Object.keys(objarr[1])+":"+objarr[1].age);
读取设置数组的代码示例:
var colors = ["red","blue","green"];//定义一个字符串数组
alert(colors[0]);//显示第一项
colors[2] = "black";//修改第三项
colors[3] = "brown";//新增第四项
注意:
1、var colors = ["red","blue","green"];//创建一个包含3个字符串的数组
colors.length =2;
alert(color[2]); //undefined
2、var colors = ["red","blue","green"];
colors[99] ="black"; //在位置99添加一个颜色,其中3至98都是不存在,取值会报undefined。
alert(colors.length);//100
二、数组检测
1、instanceof
相关示例:
if ( value instanceof Array){//检测值是否为数组
//对数组执行某些操作
}
2 、Array.isArray()是ECMAScript5增加的方法,支持ie9、firefox 4+、safari 5+、opera 10.5+、Chome。
if ( Array.isArray(value)){//检测值是否为数组
//对数组执行某些操作
}
相关示例:
var a = [1, 2, 3];
typeof a;// "object"
Array.isArray(a); // true
上面代码中,typeof
运算符只能显示数组的类型是Object
,而Array.isArray
方法可以对数组返回true
。Array.isArray
方法用来判断一个值是否为数组。它可以弥补typeof
运算符的不足。
三、数组转换
示例一:
var colors = ["red","blue","green"];
alert(colors.tostring()); //red,blue,green
alert(colors.valueof()); //red,blue,green
alert(colors); //red,blue,green
示例二:
var a = [1, 2, 3];
a.valueOf() // [1, 2, 3]
valueOf
方法返回数组本身。
a.toString() // "1,2,3" 返回数组的字符串形式。
var a = [1, 2, 3, [4, 5, 6]];
a.toString() // "1,2,3,4,5,6"
a.toLocaleString(); //1,2,3 当调用此方法时会创建一个数组值的以逗号分隔的字符串
四、数组的相关操作
1、分割符的使用:
join方法以参数作为分割符,将所有数组成员组成一个字符串返回。如果不提供参数,默认用逗号分割。
相关示例:
var a = [1,2,3,4];
a.john(' '); // '1 2 3 4'
a.john(' | '); // "1 | 2 | 3 | 4"
a.john(); // "1,2,3,4"
如果数组成员是undefined或null或空位,会被转成空字符串。
[undefined, null].join('#')
// '#'
['a',, 'b'].join('-')
// 'a--b'
通过call
方法,这个方法也可以用于字符串。
Array.prototype.join.call('hello', '-')
// "h-e-l-l-o"
join
方法也可以用于类似数组的对象。
var obj = { 0: 'a', 1: 'b', length: 2 };
Array.prototype.join.call(obj, '-')
// 'a-b'
2、增加数组:
1、unshift() 方法向数组的开头添加一个或多个元素,并返回新的长度。 // 注意:会改变原数组
相关示例:
var a = ['a', 'b', 'c'];
a.unshift('x'); // 4
a // ['x', 'a', 'b', 'c']
2、slice()方法
3、
3、删除数组:
4、修改数组:
5、合并数组:
综合示例:
五、数组索引查找
六、数组迭代
七、数组排序
js操作数组的更多相关文章
- JS操作数组的常用方式
一.JS操作数组一:删除指定的元素 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. //查找指定元素下标 Array.prototype.indexOf = function ...
- JS操作数组常用的方法
JS操作Array对象的方法 concat(arr1,arr2,...):连接数组indexOf(value):返回数组中value的第一个索引join(separator):将数组中所有的元素连接由 ...
- JS 操作数组对象
我们在操作数组时,加入数组中是以对象的形式存在,例如: 那么我们会涉及到去重复,去掉为0的数组中的对象,js代码如下: function getItemList(gid, totalMoney, ad ...
- js操作数组元素
一, 删除数组指定的某个元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) ...
- js操作数组的一些小技巧
1.从数组中随机获取成员 var items = [12, 548 , 'a' , 2 , 5478 , 'foo' , 8852, , 'Doe' , 2145 , 119]; var rando ...
- js 操作数组封装
function OperateArray(array) { this.array = array; } OperateArray.prototype.hasValue = function(val) ...
- js 操作数组(过滤对应数据)
过滤掉相应数据 var fileList = { "85968439868a92": [{name: 'food.jpeg'}, {name: 'ood.jpeg'}], &quo ...
- JS操作数组-2
1. 找出数组 arr 中重复出现过的元素 function duplicates(arr) { var result = []; var count = []; for (var i=0;i< ...
- 小tips:JS操作数组的slice()与splice()方法
slice(start, end) slice()方法返回从参数指定位置开始到当前数组末尾的所有项.如果有两个参数,该方法返回起始和结束位置之间的项,但不包括结束位置的项. var colors = ...
随机推荐
- 关于MVC EF架构及Repository模式的一点心得
一直都想写博客,可惜真的太懒了或者对自己的描述水平不太自信,所以...一直都是不想写的状态,关于领域驱动的东西看了不少,但是由于自己水平太差加上工作中实在用不到,所以一直处于搁置状态,最近心血来潮突然 ...
- 使用Oracle调度程序自动完成任务
1. 创建作业.计划和时间表 2. 创建轻量级作业 3. 使用作业链执行一系列相关任务 4. 创建窗口和作业类 5. 使用高级调度程序概念确定作业优先顺序 Reference 实验演示准备: --业务 ...
- 在Linux下的中断方式读取按键驱动程序
// 在Linux下的中断方式读取按键驱动程序 //包含外部中断 休眠 加入poll机制 // 采用异步通知的方式 // 驱动程序发 ---> app接收 (通过kill_fasync()发送) ...
- AppCan学习笔记----关闭页面listview动态加载数据
AppCan页面关闭 AppCan 的页面是由两个HTML组成,如果要完全关闭的话需要在主HTML eg.index.html中关闭,关闭方法:appcan.window.close(-1); 管道 ...
- VS 2010一步步开发windows服务(windows service)
基于0起步来创建一个服务,做到简单的记录时间日志功能,其具体招行方法可自行添加. 1.创建服务 2.删除默认服务文件 3.添加自己的服务文件 4.更改启动项目 5. 引用 using System.T ...
- 12.Struts2自定义拦截器
12.自定义拦截器 拦截器是Struts2的一个重要特性.因为Struts2的大多数核心功能都是通过拦截器实现的. 拦截器之所以称之为“拦截器”,是因为它可以拦截Action方法的执行, ...
- JS打印对象的方法&将Object转换为String的函数
1.有时候需要把对象中的字段属性打印出来,下面用JS实现输出对象: function writeObj(obj) { var description = ""; for (var ...
- springmvc原理
今天面试碰到一个特别恶心的公司面试官.是一个金融公司,过去后告诉我2点上班,带我去见经理.经理找人面试,看起来没有hr,经理直接看简历招人.经理上来就问我是xxx大学的,我说是,然后等面试官.面试官来 ...
- jQuery-1.9.1源码分析系列(六) 延时对象续——辅助函数jQuery.when
$.when的说明 描述: 提供一种方法来执行一个或多个对象的回调函数,返回这些对象的延时(Deferred)对象. 说明(结合实例和源码): 如果你不传递任何参数, jQuery.when()将返 ...
- ASP.NET开源CMS
CMS这里指 内容管理系统.是Content Management System的缩写. 产生 随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间 ...