1.数组的创建

var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值

要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2.数组的元素的访问

var testGetArrValue=arrayObj[1]; //获取数组的元素值
arrayObj[1]= "这是新值"; //给数组元素赋予新的值

3.数组元素的添加

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。

4.数组元素的删除

arrayObj.pop(); //移除最后一个元素并返回该元素值
arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素

5.数组的截取和合并

arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

6.数组的拷贝

arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7.数组元素的排序

arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.sort(); //对数组元素排序,返回数组地址

8.数组元素的字符串化

arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

9.过滤数组

$.grep(array, callback, [invert]) 过滤数组,此函数至少传递两个参数(第三个参数为true或false,表示是否取反): 待过滤数组和过滤函数. 过滤函数必须返回 true 以保留元素或 false 以删除元素grep(array,callback,invert)
array:待过滤数组;
callback:处理数组中的每个元素,并过滤元素,该函数中包含两个参数,第一个是当前数组元素的值,一个是当前数组元素的下标,即元素索引 值,,此函数应返回一个布尔值 如$.grep(arr,function(value,index){return index>1;});。另外,此函数可设置为一个字符串,当设置为字符串时,将视为“lambda-form”(缩写形式?),其中 a 代表数组元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”
invert:布尔型可选项,默认值false,值为true或false。 如果 “invert” 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当”invert” 为 true,则返回过滤函数中返回 false 的元素集。

10.清空数组

方式1----splice

var ary = [1,2,3,4];
ary.splice(0,ary.length);
console.log(ary); // 输出 [],空数组,即被清空了

方式2----length赋值为0

var ary = [1,2,3,4];
ary.length = 0;
console.log(ary); // 输出 [],空数组,即被清空了

方式3----赋值为[]

var ary = [1,2,3,4];
ary = []; // 赋值为一个空数组以达到清空原数组

扩展

1.使用grep删除指定值
var arr = [1, 2, 3, 4, 5];
var removeItem = 2;arr = $.grep(arr, function(value) {return value != removeItem;
});
2.数组遍历

不同于例遍 jQuery 对象的 $().each() 方法,此方法可用于例遍任何对象(不仅仅是数组哦~). 回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略

var _mozi=['墨家','墨子','墨翟','兼爱非攻','尚同尚贤']; //本文所用到的数组, 下同
$.each(_mozi,function(key,val){ //回调函数有两个参数,第一个是元素索引,第二个为当前值 alert('_mozi数组中 ,索引 : '+key+' 对应的值为: '+val);
});
3.$.map(array,[callback])按给定条件转换数组

作为参数的转换函数会为每个数组元素调用, 而且会给这个转换函数传递一个表示被转换的元素作为参数. 转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组, 并扩展至原始数组中.
这个是个很强大的方法,但并不常用. 它可以根据特定条件,更新数组元素值,或根据原值扩展一个新的副本元素.

var _mapArrA=$.map(_mozi,function(val){return val+'[新加]';
});
var _mapArrB=$.map(_mozi,function(val){return val=='墨子' ? '[只给墨子加]'+val : val;
});
var _mapArrC=$.map(_mozi,function(val){//为数组元素扩展一个新元素return [val,(val+'[扩展]')];
});
alert('在每个元素后面加\'[新加]\'字符后的数组为: '+ _mapArrA);
alert('只给元素 墨子 添加字符后的数组为: '+ _mapArrB);
alert('为原数组中每个元素,扩展一个添加字符\'[新加]\'的元素,返回的数组为 '+_mapArrC);
4.$.inArray(val,array)判断值是否存在于数组中[常用]

解释: 确定第一个参数在数组中的位置, 从0开始计数(如果没有找到则返回 -1 ).
记 得indexOf()方法了吗? indexOf()返回字符串的首次出现位置,而$.inArray()返回的是传入参数在数组中的位置,同样的,如果找到的,返回的是一个大于或等于0 的值,若未找到则返回-1.

var _exist=$.inArray('墨子',_mozi);
var _inexistence=$.inArray('卫鞅',_mozi)
if(_exist>=0){alert('墨子 存在于数组_mozi中,其在数组中索引值是: '+_exist);
}
if(_inexistence<0){alert('卫鞅 不存在于数组_mozi中!,返回值为: '+_inexistence+'!');
}
5.$.merge(first,second)合并两个数组[一般]

解释: 返回的结果会修改第一个数组的内容——第一个数组的元素后面跟着第二个数组的元素.
这个方法是用jQuery的方法替代原生concat()方法, 但功能并没有concat()强大, concat()可以同时合并多个数组.

//原生concat()可能比它还简洁点
_moziNew=$.merge(_mozi,['鬼谷子','商鞅','孙膑','庞涓','苏秦','张仪'])
alert('合并后新数组长度为: '+_moziNew.length+'. 其值为: '+_moziNew);
6 .$.unique(array)过滤数组中重复元素[不常用]

解释: 删除数组中重复元素. 只处理删除DOM元素数组,而不能处理字符串或者数字数组.

var _h2Arr=$.makeArray(h2obj);
//将数组_h2Arr重复一次
_h2Arr=$.merge(_h2Arr,_h2Arr);
var _curLen=_h2Arr.length;
_h2Arr=$.unique(_h2Arr);
var _newLen=_h2Arr.length;
alert('数组_h2Arr原长度值为: '+_curLen+' ,过滤后为: '+_newLen+' .共过滤 '+(_curLen-_newLen)+'个重复元素')
7.判断数组中是否包含某个元素$.inArray()的用法

判断数组里面是否包含某个元素可以使用 $.inArray("元素(字符串)",数组名称) 进行判断 ,当存在该元素(字符串)时,返回该元素在数组的下标,不存在时返回 -1

 var array = ["asp.net", "asp.net mvc", "html5", "css3", "jquery", "JavaScript"];var index = $.inArray("asp.net mvc", array);   //包含返回下标,不包含返回-1,结果:index=1if (index >= 0) {console.log("数组array包含asp.net mvc下标为:" + index);} else { console.log("数组array 不包含asp.net mvc下标为:" + index);}

8.数组移除某个元素 splice() 方法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
该方法会改变原始数组。

arrayObject.splice(index,howmany,item1,…,itemX)
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX 可选。向数组添加的新项目。
返回值
Array 包含被删除项目的新数组,如果有的话。

//我们将创建一个新数组,并向其添加一个元素:
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"document.write(arr + "<br />") //George,John,Thomas,James,Adrew,Martin
arr.splice(2,0,"William")
document.write(arr + "<br />") //George,John,William,Thomas,James,Adrew,Martin//将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"document.write(arr + "<br />") //George,John,Thomas,James,Adrew,Martin
arr.splice(2,1,"William")
document.write(arr) //George,John,William,James,Adrew,Martin

jquery 数组操作(超全)相关推荐

  1. jq数组赋值 java_js,jquery,数组操作小结

    详解jQuery之数组处理: jQuery的数组处理,便捷,功能齐全. 最近的项目中用到的比较多,深感实用,一步到位的封装了很多原生js数组不能企及的功能. 最近时间紧迫,今天抽了些时间回过头来看 j ...

  2. jquery数组(操作数组元素)

    HTML: <h3>数组map方法</h3> <div id="show4"></div> jquery: $(document). ...

  3. Stream流常用操作(超全+实例)

    创建流 单列集合: 集合对象.stream() List<Author> authors = getAuthors();Stream<Author> stream = auth ...

  4. Jquery 数组操作大全【转载】

    转载于:https://www.jb51.net/article/43164.htm 1. $.each(array, [callback]) 遍历[常用] 解释: 不同于例遍 jQuery 对象的 ...

  5. jquery系列之-Jquery数组操作大全个人总结

    1. $.each(array, [callback]) 遍历[常用] 解释: 不同于例遍 jQuery 对象的 $().each() 方法,此方法可用于例遍任何对象(不仅仅是数组哦~). 回调函数拥 ...

  6. jquery 数组 操作函数

    var arrList = ['a','b','c','d'];          arrList.splice(jQuery.inArray('b',arrList),1); alert(arrLi ...

  7. JQUERY 数组操作

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  8. jQuery数组处理详解(含实例演示)

    jQuery的数组处理,便捷,功能齐全. 最近的项目中用到的比较多,深感实用,一步到位的封装了很多原生js数组不能企及的功能. 最近时间紧迫,今天抽了些时间回过头来看 jQuery中文文档 中对数组的 ...

  9. jq 组装数组_Jquery数组操作

    jQuery的数组处理,便捷,功能齐全. 最近的项目中用到的比较多,深感实用,一步到位的封装了很多原生js数组不能企及的功能. 最近时间紧迫,今天抽了些时间回过头来看 jQuery中文文档 中对数组的 ...

最新文章

  1. hive函数 get_json_object的使用
  2. PHP函数之无极分类
  3. python导入pods的时候出现错误:FileNotFoundError: [Errno 2] No such file or directory: ‘D:\\tmp\\sods.log‘
  4. struts2 ajax请求发现执行action两次原因
  5. cocos2d-x游戏实例(3)-获得地图索引
  6. [html] 写H5和小程序有什么相同及不同的地方吗?
  7. jsp页面格式化时间或数字
  8. antd中tooltip换行_ant design 中实现表格头部可删除和添加
  9. Eclipse卸载插件SpringSoource-tool-suite
  10. 力扣-剑指offer 06 从尾到头打印链表
  11. 五个比SCI-Hub还牛的下载文献方法,教你全网免费下载外文文献。
  12. Linux环境下命令行下载DM8
  13. 如何在单片机中用汇编优雅的点灯
  14. pattern.compile java_Java Pattern compile(String)用法及代码示例
  15. 6成人跳槽为钱,最新裸辞调查报告出炉!
  16. 联合循环——23(屋顶防雷,盘柜中性点地排)
  17. 【思科ACI】APIC手动安装及升级
  18. 基于百度AI Studio的药物设计——NAMD自由能微扰计算(FEP笔记本)
  19. MATLAB基础学习(一)
  20. linux raid member,文件挂载时报错“linux_raid_member”

热门文章

  1. icloud连接错误 解决
  2. 珠海计算机类,因为热爱,所以期待——2019级计算机类3班班主任助理陈嘉伟
  3. linux安装深度播放器,分享|Ubuntu 14.04 用户如何安装深度音乐播放器和百度音乐插件...
  4. 网线延长- HDMI1.4 over ip延长器
  5. 微搭人员招聘管理系统官方模板解析(一)
  6. iOS之代理/协议 @protocal
  7. 用python编写学生管理系统_用python写一个简单的学生管理系统
  8. java测试案例_微服务实战测试之Java实例篇
  9. pgpool mysql_pgpool分析二
  10. A069_店铺入驻_FastDfs_邮件