一、数组的声明方式:

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. MySQL中有关TIMESTAMP和DATETIME的总结

    一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...

  2. Mac如何删除MySQL,Mac下MySQL卸载方法

    在Mac下安装完MySQL之后,出现了无法启动的问题,多翻尝试依然不能解决问题,最后只能把它删掉. 如何在Mac下删除MySQL呢,只需要在终端执行如下命令就可以把MySQL在Mac下彻底删除干净了. ...

  3. 利用GeoWebCache实现WebGIS地形图展示的缓存优化

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在WebGIS中,影像金字塔是一个很重要的概念.在WebGI ...

  4. 自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图

    引言 学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了.现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改mar ...

  5. OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)

    在OpenCV2:图像的几何变换,平移.镜像.缩放.旋转(1)主要介绍了图像变换中的向前映射.向后映射.处理变换过程中浮点坐标像素值的插值算法,并且基于OpenCV2实现了两个简单的几何变换:平移和镜 ...

  6. [Java 安全]消息摘要与数字签名

    消息摘要 算法简述 定义 它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生.如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知 ...

  7. webpack+vue-cli项目打包技巧

    1.设置config文件夹index.js中productionSourceMap的值为false,也就是设置webpack配置中devtool为false,打包后文件体积可以减少百分之八十!!!!! ...

  8. html5 前端图片处理(预览、压缩、缩放)

    现在手机图片是越来越大了,上传图片流量耗费巨大.同时预览也是一个问题,所以利用HTML5 file和canvas来解决这个问题. var upload = { _o: null,//对象id _aut ...

  9. LINUX最大线程数及最大进程数

    查看最大线程数: cat /proc/sys/kernel/threads-max ulimit User limits - limit the use of system-wide resource ...

  10. centos mysql php Curl

    开放80端口 #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT  #/sbin/iptables -I INPUT -p tcp --dport ...