一、数组的声明方式:

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方法可以对数组返回trueArray.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操作数组的更多相关文章

  1. JS操作数组的常用方式

    一.JS操作数组一:删除指定的元素 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. //查找指定元素下标 Array.prototype.indexOf = function ...

  2. JS操作数组常用的方法

    JS操作Array对象的方法 concat(arr1,arr2,...):连接数组indexOf(value):返回数组中value的第一个索引join(separator):将数组中所有的元素连接由 ...

  3. JS 操作数组对象

    我们在操作数组时,加入数组中是以对象的形式存在,例如: 那么我们会涉及到去重复,去掉为0的数组中的对象,js代码如下: function getItemList(gid, totalMoney, ad ...

  4. js操作数组元素

    一, 删除数组指定的某个元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) ...

  5. js操作数组的一些小技巧

    1.从数组中随机获取成员 var items = [12, 548 , 'a' , 2 , 5478 , 'foo' , 8852, , 'Doe' , 2145 , 119]; var  rando ...

  6. js 操作数组封装

    function OperateArray(array) { this.array = array; } OperateArray.prototype.hasValue = function(val) ...

  7. js 操作数组(过滤对应数据)

    过滤掉相应数据 var fileList = { "85968439868a92": [{name: 'food.jpeg'}, {name: 'ood.jpeg'}], &quo ...

  8. JS操作数组-2

    1. 找出数组 arr 中重复出现过的元素 function duplicates(arr) { var result = []; var count = []; for (var i=0;i< ...

  9. 小tips:JS操作数组的slice()与splice()方法

    slice(start, end) slice()方法返回从参数指定位置开始到当前数组末尾的所有项.如果有两个参数,该方法返回起始和结束位置之间的项,但不包括结束位置的项. var colors = ...

随机推荐

  1. etlpy: 并行爬虫和数据清洗工具(开源)

    etlpy是python编写的网页数据抓取和清洗工具,核心文件etl.py不超过500行,具备如下特点 爬虫和清洗逻辑基于xml定义,不需手工编写 基于python生成器,流式处理,对内存无要求 内置 ...

  2. 解决Onedrive经常无法访问的问题

    在国内经常因为各种原因访问不了OneDrive的访问,可以通过下面的方式解决 添加两个DNS记录到hosts文件(C:\Windows\System32\drivers\etc) 134.170.10 ...

  3. 关于在BAE上部署ThinkPHP框架的问题

    现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点 ...

  4. php教程|php基础知识

    第1章  初识PHP 当前网络技术发展日新月异,各种基于服务端创建动态网站的脚本语言更是层出不穷.其中PHP以其简单.易用.可移植性强等特点,在众多的动态网站语言技术中独树一帜.那么到底什么是PHP, ...

  5. 浅谈2D游戏设计模式--游戏剧情设计(1)

    博主不才,人生有2大爱好,写程序和玩游戏,本人玩的又是一款2D的在旁人看来弱智的网络游戏. 这款游戏在中国的名称叫做冒险岛,不知道园子里有没有人玩过. 我打算有空的话,就把我玩游戏中的心得和程序结合起 ...

  6. WebApp上滑加载数据...

    $(window).bind("scroll", function () { if ($(document).scrollTop() + $(window).height() &g ...

  7. Rafy 领域实体框架演示(4) - 使用本地文件型数据库 SQLCE 绿色部署

    本系列演示如何使用 Rafy 领域实体框架快速转换一个传统的三层应用程序,并展示转换完成后,Rafy 带来的新功能. <福利到!Rafy(原OEA)领域实体框架 2.22.2067 发布!> ...

  8. clr enabled Server Configuration Option

    在SQL Server中启用CLR,可以执行下面SQL语句: EXEC sp_configure 'clr enabled'; '; RECONFIGURE; Source Code

  9. Hibernate 表映射 主键生成策略与复合主键

    主要分析三点: 一.数据表和Java类的映射 : 二.单一主键映射和主键的生成策略 : 三.复合主键的表映射 : 一.数据表和Java类的映射  Hibernate封装了数据库DDL语句,只需要将数据 ...

  10. linux下c程序的链接、装载和库(3)

    9. 目标文件放在一起-->静态库. 你的同事给出的目标文件太多了,从 one.o two.o …… …… 一直到 xxx.o. 好的,你如果真正想用,你的同事提供的这些现有的目标文件,你得做三 ...