JavaScript基础学习——数组
来源:互联网 发布:古筝调音器安卓软件 编辑:程序博客网 时间:2024/06/03 22:50
数组常见操作
//初始数组var targetarr=[{name:'张四',age:24},{name:'张三',age:23},{name:'张五',age:25}];showarray(targetarr);/** * 显示数组内容函数,foreach函数遍历数组 * @param arr 数组 */var showarray = function(arr){ var showstr=''; arr.forEach(function(item){ showstr+=(item.name+','+item.age).toString()+';'; }); $("#show").html(showstr);};/** * sort:利用字符串大小排序,默认升序 * 改进sort函数,根据项的对象属性进行数组排序,默认降序 * @param arr 数组 * @param key 对象属性值 * @param sequence 排序方式 * @returns {*} */var sortarray=function(arr,key,sequence){ return arr.sort(function compare(num1,num2){ if(sequence=="asc"){ return num1[key]-num2[key]; }else{ return num2[key]-num1[key]; } });}/** * 5种迭代方法,都是三个参数,item,index,array * 方法1:every ,遍历每一项,执行函数,每一项都返回true,则返回值返回true * 方法2:some ,遍历每一项,执行函数,存在任何一项返回true,则返回值返回true * 方法3:filter,遍历每一项,执行函数,返回满足函数返回值为true的所有项组成的数组 * 方法4:map,遍历每一项,执行函数,返回函数的结果给每一项,然后组成数组 * 方法5:foreach,无返回值,遍历数组的常用方法 *///迭代方法举例,显示出age大于24的对象组成的数组showarray (targetarr.filter(function (item,index,array){ return item.age>24;}));/** * 2种归并方法,4个参数,pre,cur,index,array * 方法1:reduce ,操作第一项和第二项,然后将结果和第三项进行操作,依次类推,从左往右 * 方法2:reduceRight ,顺序从右往左,其他和reduce一样 *///归并方法举例,数组中所有对象的age的和 ps:这边花了点小插曲,忘记了返回值必须是对象var sum=targetarr.reduce(function (pre,cur,index,array){ var preobj=new Object(); preobj.age=pre.age+cur.age; return preobj;});alert(sum.age);//利用length末尾动态添加项targetarr[targetarr.length]={name:'张六',age:26};showarray(targetarr);//调用数组排序函数var sortarray =sortarray(targetarr,'age');showarray(sortarray);//reverse:反转数组顺序showarray(targetarr.reverse());//slice: 裁剪数组,返回第startindex+1项到endindex项的数组var startindex=0,endindex=2;showarray(targetarr.slice(startindex,endindex));//indexOf和lastIndexOf: 匹配数组的项,若匹配则返回项的index,否则返回-1;indexOf从前往后遍历,lastIndexOf从末向前遍历//@param matchindexcontent 匹配项内容// @param startinex 起始项(可选) var targetarr=[{name:'张四',age:24},{name:'张三',age:23},{name:'张五',age:25}];var matchindex=targetarr[1];alert(targetarr.indexOf(matchindex));//ps:如果直接新建一个对象的话,比如 {name:'张三',age:23},那么返回值是-1,因为对象的内存地址不同 ,这里返回的是1/** * @param startindex 数组起始项 * @param deleteindexnum 要删除的数组项数量 * @param insertindex 要插入的数组项 * splice: 给数组插入项,具体可以实现两个功能 * 功能一:删除包括第startindex+1项在内的之后deleteindexnum项,,2个参数startindex和deleteindexnum,返回值为删除项 * 功能二:从任意位置删除连续项并插入连续项,三个参数都加上,返回值为空数组;如果不想删除,那就让deleteindexnum=0,返回值为删除项 *///功能一举例,从第2项起连续删除2项var startindex=1,deleteindexnum=2;targetarr.splice(startindex,deleteindexnum);showarray(targetarr);//功能二举例,从第2项起,插入新的一项,并且不删除项var startindex=1,deleteindexnum=0;insertindex={name:'插入项1',age:24};targetarr.splice(startindex,deleteindexnum,insertindex);showarray(targetarr);//利用push末尾动态添加项,返回数组长度var count=targetarr.push({name:'张七',age:27});showarray(targetarr);//利用pop删除末尾项,返回删除的项var item=targetarr.pop();showarray(targetarr);//利用shift移除首项,并返回首项var item=targetarr.shift();showarray(targetarr);
0 0
- JavaScript基础学习——数组
- JavaScript学习总结——JavaScript数组
- JavaScript基础——数组方法使用
- JavaScript基础——强大的数组
- java基础学习—数组
- javascript 学习三~函数和数组基础
- [学习笔记]JavaScript基础--数组操作
- [学习笔记]JavaScript基础--数组连接
- javaScript学习基础篇(1)(数组)
- Javascript基础学习(三)-自定义对象数组
- JavaScript学习随记——数组一
- JavaScript学习随记——数组二
- JavaScript学习笔记——数组
- JavaScript进阶学习——数组
- javascript学习(三) — 数组
- javascript学习之数组(13)—— 数组 排序
- JavaScript学习总结(4)——JavaScript数组
- JavaScript学习总结(八)——JavaScript数组
- JavaScript-性能优化,函数节流(throttle)与函数去抖(debounce)
- 自己写一个清理系统垃圾的文件
- 近期健康类1
- 补码和unsigned
- 如何理解索引
- JavaScript基础学习——数组
- SSH远程登录
- 关于年轻人申请基金面上项目的一点思考
- windows下安装redis
- 第一部分:JDK的源码安装和常用shell操作
- QT信号(SIGNAL)与槽(SLOT)
- DOM(document获取节点byId.byTagName运用实现超链接跳转与不跳转)
- 从青年基金到面上项目
- Android--Dagger入门浅析