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 = ...
随机推荐
- MySQL中有关TIMESTAMP和DATETIME的总结
一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...
- Mac如何删除MySQL,Mac下MySQL卸载方法
在Mac下安装完MySQL之后,出现了无法启动的问题,多翻尝试依然不能解决问题,最后只能把它删掉. 如何在Mac下删除MySQL呢,只需要在终端执行如下命令就可以把MySQL在Mac下彻底删除干净了. ...
- 利用GeoWebCache实现WebGIS地形图展示的缓存优化
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在WebGIS中,影像金字塔是一个很重要的概念.在WebGI ...
- 自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图
引言 学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了.现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改mar ...
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
在OpenCV2:图像的几何变换,平移.镜像.缩放.旋转(1)主要介绍了图像变换中的向前映射.向后映射.处理变换过程中浮点坐标像素值的插值算法,并且基于OpenCV2实现了两个简单的几何变换:平移和镜 ...
- [Java 安全]消息摘要与数字签名
消息摘要 算法简述 定义 它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生.如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知 ...
- webpack+vue-cli项目打包技巧
1.设置config文件夹index.js中productionSourceMap的值为false,也就是设置webpack配置中devtool为false,打包后文件体积可以减少百分之八十!!!!! ...
- html5 前端图片处理(预览、压缩、缩放)
现在手机图片是越来越大了,上传图片流量耗费巨大.同时预览也是一个问题,所以利用HTML5 file和canvas来解决这个问题. var upload = { _o: null,//对象id _aut ...
- LINUX最大线程数及最大进程数
查看最大线程数: cat /proc/sys/kernel/threads-max ulimit User limits - limit the use of system-wide resource ...
- centos mysql php Curl
开放80端口 #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport ...