全栈工程师开发手册 (作者:栾鹏)

快捷链接:

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变量类型

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时返回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
}

数组原型

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

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-数组操作全解的更多相关文章

  1. jquery系列教程4-事件操作全解

    点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...

  2. jquery系列教程2-style样式操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  3. jquery系列教程6-ajax的应用全解

    点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...

  4. css系列教程1-选择器全解

    全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css系列教程1-选择器全解 css系列教程2-样式操作全解 css选择器全解: css选择器包括:基本选择器.属性选择器.伪类选择器.伪元 ...

  5. jquery系列教程1-选择器全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  6. Js基础知识1-数组操作全解

    数组操作全解 js变量类型 var string; var name = "student",age=12; //underfined.null.boolean.string.nu ...

  7. js系列教程2-对象、构造函数、对象属性全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...

  8. jquery系列教程3-DOM操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  9. js系列教程11-json、ajax(XMLHttpRequest)、comet、SSE、WebSocket全解

    js系列教程11-json.ajax(XMLHttpRequest).comet.SSE.WebSocket全解:https://blog.csdn.net/luanpeng825485697/art ...

随机推荐

  1. 关于hashmap的理解

    首先分析第一个比较重要的方法 put 方法,源码如下 public V put(K key, V value) { if (key == null) return putForNullKey(valu ...

  2. 201521123095 《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 Q1 List中指定元素的删除(题目4-1) 1.1 实验总结 对于删除函数 ...

  3. 201521123105 第三周Java学习总结

    1. 本周学习总结 对象(实际个体) 对象与类 类(模板) 2.书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private ...

  4. Python中库或者模组的解释

  5. 201521123008《Java程序设计》第十三周学习总结

    1. 本周学习总结 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? ping w ...

  6. 201521123070 《JAVA程序设计》第13周学习总结

    1. 本章学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jm ...

  7. 201521123101 《Java程序设计》第9周学习总结

    1. 本周学习总结 2. 书面作业 1. 常用异常,题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 遇到ArrayI ...

  8. 万物皆对象的JavaScript

    写在前面: 经过前段时间对于H5语言的学习,开始慢慢适应现在的生活节奏和代码语言.从一开始的毫无头绪到现在可以大概地写出部分的网站静态页面,用了两个周的时间.作为一个之前从未接触过计算机语言的初学者来 ...

  9. org.springframework.expression.spel.SpelEvaluationException: EL1011E: Method call: Attempted to call method test() on null context object

    前言 本文中提到的解决方案,源码地址在:springboot-thymeleaf,希望可以帮你解决问题. 至于为什么已经写了一篇文章thymeleaf模板引擎调用java类中的方法,又多此一举的单独整 ...

  10. Eclipse中删除tomcat server 导致不能重新创建该版本的tomcat server

    在Eclipse中创建了一个Web工程后,需要将该工程部署到Tomcat中进行发布.有时就会遇到在New Server对话框中选择了Tomcat 6/7后却无法单击“Next”按钮的问题,如下图所示: ...