js数组处理

来源:互联网 发布:mac相簿照片怎么导出 编辑:程序博客网 时间:2024/06/08 04:39

数组操作全解

js变量类型

varstring;var name = "student",age=12; //underfined、nullbooleanstring、number为基本数值类型。逗号一并定义初始化多个变量

。基本包装类型StringBoolean、Number通过valueOf()可以获取基本数值类型,可以实现自动装箱和拆箱操作。

数组的定义

var names=[];                           //定义数组并初始化为空names = ["小明","小红","小刚"];           //赋值,可以在定义时赋值names = new Array();                    //定义数组并初始化为空names=new Array(names.length);          //数组基类为Array,属性length为数组长度names = new Array('小明','小红','小刚');  //字符串不区分单双引号,只要配对使用就行

增删查改

//元素增加names[4]="小胡";                         //通过赋值,直接添加了两项,null和“小胡”names.unshift("小李","小兰");             //首部添加names.push("小李","小兰");                //末尾添加//元素删除var item = names.pop();                  //删除获取最后一项item=names.shift();                      //删除获取第一项names.splice(2,1,"小季","小明");          //删除添加数据,修改源数组,第一个参数表示开始删除的位(包含),第二个参数表示要删除的数目,后面参数表示在删除位置处添加的元素//元素读取查找var nameitem=names[2];                  //使用[]读取数组,这是最简单的读取方式names = names.slice(-4,6);              //读取数组段,不修改源数组,负数表示从右向左数,-1表示末尾第一个元素,0表示首部第一个元素。只有一个参数时表示直到末尾。读取索引包含第一个参数不包含第二个参数names.indexOf("小明");                    //查找匹配元素的位置,没有找到返回-1,lastindexof表示最后匹配的位置。//数组的拼接和字符串表示names=names.concat("小王",["小明","小黑"]); //拼接数组,不修改源数组,所以要赋值var str=stringnames.join(",");            //使用间隔字符串连接数组

遍历

var boolresult = names.every(function(item,index,array){   //对数组中元素每一项进行布尔运算,返回falsetrue。every函数,全部元素返回true时返回true。some函数某一元素返回true时返回true    return (index>2);});var nameresult = names.filter(function(item,index,array){   //返回数组,filter函数获取满足条件的项,map函数获取每一项计算值的集合,不改变原数组,forEach函数等价于for语句,对每项处理    return (index>2);});nameresult = names.reduce(function(prev,cur,index,array){   //reduce从前向后迭代,reduceRight从后向前迭代。    return prev+"+"+cur;                                    //迭代从第二项开始,prev初始值为第一项,cur初始值为第二项。计算值自动传给下一函数的prev,返回最后一次迭代产生的值});

排序

names.reverse();                        //数组取反names.sort();                           //数组排序sort(compare),参数可为排序函数,空元素将排到最后function compare(student1,student2){    //比较函数,返回-1,0,1    //return student1.age<student2.age?-1:(student1.age==student2.age?0:1);   //-1表示前对象小,1表示后对象小,0表示相等    return student2.age-student1.age;  //正数自动转化为1,负数转化为-1}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

数组原型 
自定义数组原型函数,实现为所有数组添加功能

function array_max( ){    return Math.max.apply(Math,this);    //max取最大值,min取最小值。还有很多数学运算}Array.prototype.max = array_max;         //重写数组原型链var x = new Array(1, 2, 3, 4, 5, 6);     //应用自定义原型函数var y = x.max( );

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 烟台网上民声 烟台网上民声民生在线 民声网 寿光民生寿光民声网 民子姐 民安镇 民宿的设计 设计民宿 民宿风格 民宿效果图 民宿设计效果图 莫干山居图民宿 民宿平面布置图 民宿布局图 民宿大厅装修效果图 民宿客栈设计图 中国民宿 怎样做民宿 民宿设计图片 民宿设计公司 民宿预定网站 预订民宿的网站 海南民宿网 九份民宿网 中国民宿网 龙游民居苑附件住宿 龙游民居苑附件宾馆 龙游民居苑附近宾馆 三大民工漫 大民工漫 民工是什么意思 老民师2019年补贴新政策 联民花园 民强 省民政厅厅长 贵州省民政厅 吉林省民政厅 湖南民政厅附近宾馆 湖北省民政厅周围住宿 湖南民政厅附件的住宿 湖北省民政厅附件酒店