js系列教程1-数组操作全解
全栈工程师开发手册 (作者:栾鹏)
快捷链接:
js系列教程1-数组操作全解
js系列教程2-对象和属性全解
js系列教程3-字符串和正则全解
js系列教程4-函数与参数全解
js系列教程5-容器和算法全解
js系列教程6-BOM操作全解
js系列教程7-DOM操作全解
js系列教程8-事件全解
js系列教程9-表单元素全解
js系列教程10-canvas绘图全解
js系列教程11-json、ajax、comet全解
js系列教程12-离线应用与存储全解
js系列教程13-原型、原型链、作用链、闭包全解
数组操作全解
js变量类型
var string;
var name = "student",age=12; //underfined、null、boolean、string、number为基本数值类型。逗号一并定义初始化多个变量。基本包装类型String、Boolean、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){ //对数组中元素每一项进行布尔运算,返回false和true。every函数,全部元素返回true时返回true。some函数某一元素返回true时返回truereturn (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
}
数组原型
自定义数组原型函数,实现为所有数组添加功能
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( );
js系列教程1-数组操作全解相关推荐
- js系列教程9-表单元素全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...
- jquery系列教程4-事件操作全解
点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...
- jquery系列教程2-style样式操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...
- jquery系列教程5-动画操作全解
点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...
- jquery系列教程6-ajax的应用全解
点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...
- jquery系列教程1-选择器全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...
- css系列教程1-选择器全解
全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css系列教程1-选择器全解 css系列教程2-样式操作全解 css选择器全解: css选择器包括:基本选择器.属性选择器.伪类选择器.伪元 ...
- python数据挖掘系列教程——PySpider框架应用全解
全栈工程师开发手册 (作者:栾鹏) python教程全解 python数据挖掘系列教程--PySpider框架应用全解. PySpider介绍 pyspider上手更简单,操作更加简便,因为它增加了 ...
- python网络爬虫系列教程——PhantomJS包应用全解
全栈工程师开发手册 (作者:栾鹏) python教程全解 如果页面是JS渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索JS渲染的到的一些结果,那简直没天理了.所以,我们需要有一些好用 ...
最新文章
- Django使用已经存有数据的mysql数据库
- migration vmware vms to openstack kvm 修改vmware windows scsi to ide
- 使用百度UEditor
- 弹出框设置在页面居中
- Eclipse Memory Analyzer(MAT) 使用总结
- Visual Studio Tip 之 如何查看隐形的空格(white space)和制表符(tab)
- c++常用代码(持续更新)
- Illustrator 教程,如何在 Illustrator 中添加一行文字?
- ctf工具-杂项-foremost
- java微信web支付开发_java实现微信H5支付方法详解
- eclipse语言包安装太慢,或者卡住不动的解决方法
- 狂神说Redis学习笔记
- 手把手教你开发列举网自动发帖软件!神器哈
- OA表单设计 案例展示
- C#中的作用Read()和ReadLine()
- 微型计算机原理-期末
- Python小白的自学笔记第四天
- 工程监测多通道振弦模拟信号采集仪VTN参数修改
- python绘制风向玫瑰图
- 综合项目——智能分类垃圾桶