数组 javaScript权威指南笔记
创建数组
var a=[1,2,3,4]
var arr=new Array()
var arr=new Array(10);//创建长度为10的数组
var arr=new Array(1,2,3,4,5,6);//创建数组
arr.length==6;
数组的删除delete var a=[1,2,3];
delete a[0];
1 in a //false,
a.length //3,delete操作并不会影响数组的长度
数组的遍历
for/in forEach
var a=[1,2,3];
var b=0;
a.forEach(function(x){
b+=x;//相加
})
数组的方法
Array.jion();//将所有的元素转换为字符串并连接在一起,默认逗号连接,有一个参数,可以修改连接的样式
Array.reverse();//将数组反向排序
Array.sort();//将数组排序后并返回排序后的数组,如果不带参数,默认字母表顺序,有参数根据回调函数的返回值来确认顺序
var a=[33,4,1111,222];
a.sort();//1111,222,33,4;
a.sort(function(a,b){
return a-b;//4,33,222,1111
});
a.sort(function(){
return b-a;//1111,222,33,4
})
Array.concat();//连接数组
var a=[1,2,3];
a.concat(4,5);//[1,2,3,4,5]
a.concat([4,5]);//[1,2,3,4,5]
a.concat([4,5],[6,7]);//[1,2,3,4,5,6,7]
a.concat([4,[5,[6,7]);//[1,2,3,4,5,[6,7]]
Array.slice();返回指定数组的片段
var a=[1,2,3,4,5];
a.slice(0,3);//[1,2,3,4];
a.slice(3);//[4,5];
a.slice(1,-1);//[2,3,4];
a.slice(-3,-2);//[3]
Array.splice();splice()会修改数组,第一个参数起始点,第二个参数删除的个数,之后的参数是插入的元素,插入元素的起始点就是第一个参数,注意,插入的数组是数组本身,不是里面的元素
Array.push()和Array.pop();push在尾部添加元素,pop在尾部删除元素,修改原来的数组
Array.unshift()和Array.shift();unshift在头部添加元素,shift在头部删除元素,修改原来的数组
Array.toString()和Array.toLocalString();转换为字符串
ES5中数组的方法
forEach()方法
map()方法
var a=[1,2,3];
b=a.map(function(x){
return x*x;//b是[1,4,9]
})
filter()
var a=[5,4,3,2,1];
b=a.filter(function(x){
return x<3;//[2,1]
})
var a=[5,4,3,2,1];
b=a.filter(function(x,i){
return i%2==0;//[5,3,1],i是filter的第二个参数,他表示的是数组的下标,还有第三个参数当期元素属于数组的对象
})
every()和some();是数组的逻辑判断
var a=[5,4,3,2,1];
b=a.every(function(x){
return x<10;//true;
})
var a=[5,4,3,2,1];
b=a.some(function(x){
return x%2===0;//false;
})
reduce()和reduceRight()
var a=[5,4,3,2,1];
b=a.reduce(function(x,y){
return x+y;//数组求和
},0)
b=a.reduce(function(x,y){
return x*y;//数组求积
},1)
b=a.reduce(function(x,y){
return x>y?x:y;//求最小值
},1)
reduce()//两各参数,第一个参数执行函数,第二个参数可选初始值,第一次执行函数时,初始值作为函数的第一个参数,以后执行函数返回的值作为函数第一个参数
reduceRight()和reduce()一样,执行从最后一个元素开始执行
indexOf()和lastindexOf;搜索数组的指定的元素,如果找到返回下标,如果没找到返回-1
数组的类型
Array.isArray([]);//true
Array.isArray([]);//false
数组 javaScript权威指南笔记的更多相关文章
- javascript权威指南笔记
最近每天工作之余看下js的细节部分,时间不是很多,所以看的进度也不会太快,写个博客监督自己每天都看下. 以前不知道的细节或者以前知道但是没注意过的地方都会记录下来,所以适合有一定基础的,不适合零基础新 ...
- javascript权威指南笔记--javascript语言核心(四)
对象: 通过引用(而非值)来操作对象: var obj = {"x":1,"y":2}; var copyObj = obj; copyObj.x = 5; c ...
- javascript权威指南笔记--javascript语言核心(三)
1.var用来声明一个或多个变量.全局变量是全局对象的属性,它无法通过delete删除. 如果var语句中的变量没有指定初始化表达式,那么这个变量的初始值为undefined. 变量声明语句会被提前到 ...
- javascript权威指南笔记--javascript语言核心(二)
1.函数作用域:在函数内声明的所有变量在函数体内始终是可见的.这意味着在变量声明之前甚至已经可用. *“声明提前”:javascript函数里声明的所有变量(但不涉及赋值)都被提前至函数的顶部. fu ...
- javascript权威指南笔记--javascript语言核心(一)
1.javascript的数据类型分为两类:原始类型和对象类型. 原始类型包括字符串.数字.布尔值.null.undefined. 对象是属性的集合,每个对象都由“名/值”对构成.数组和函数是特殊的对 ...
- 1.语言概述-JavaScript权威指南笔记
上周三的时候交给老板目前的项目第一个迭代回顾会的总结.原本是以综述性的表述方式写的,交给他之后表示程序员不要长篇大论.总结要分为优点缺点期望等等块,每块列出条目,简明扼要的表达出来.这里也用这种风格. ...
- [JavaScript权威指南 [笔记]
对象的比较均是引用的比较.(不可变的原始值和可变的对象引用)this返回调用这个方法的对象通过x!==x来判断x是否为NaNvar max = max_width || preferences.max ...
- javascript权威指南笔记[1-5]
1.javaScript的数据类型分为两类:原始类型和对象类型: 2.javaScript中除了数字,字符串,布尔值,null,undefined之外就是对象了: 3.对象(object)是属性(pr ...
- 2.语言概述-JavaScript权威指南笔记
上周三的时候交给老板目前的项目第一个迭代回顾会的总结.原本是以综述性的表述方式写的,交给他之后表示程序员不要长篇大论.总结要分为优点缺点期望等等块,每块列出条目,简明扼要的表达出来.这里也用这种风格. ...
随机推荐
- [HNOI2015]开店 树链剖分,主席树
[HNOI2015]开店 LG传送门 蒟蒻表示不会动态淀粉质. 先把点按年龄排序, 设\(dis[i]\)表示\(i\)到根的距离. 把我们要算的东西稍微变下形:\(ans\) \[ = \sum \ ...
- code first 创建数据库,add-migration update-database
第一步: 第二步:
- 扩展gcd算法
扩展gcd算法 神tm ×度搜索exgcd 打到exg的时候出来ex咖喱棒... 球方程\(ax+by=\gcd(a,b)\)的一个解 如果\(b=0\),那么\(\gcd(a,b)=a\),取\(x ...
- TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成 ...
- python数据分析处理库-Pandas
1.读取数据 import pandas food_info = pandas.read_csv("food_info.csv") print(type(food_info)) # ...
- Python学习过程笔记整理(一)
编码方式 -Utf8编码方式:# -*- coding: utf-8 -*- 注释 -行注释 # -块注释 '''...'''或"""...""&qu ...
- 如何让mysql按照两个或多个字段排序
我准备设计一个供求信息的表格,里边包含序号(id)(自动增量),发布日期(time),上次更新(last_time).因为考虑到避免有人不停的重复发布信息来占据前列位置所以设置了last_time这个 ...
- python快速入门——进入数据挖掘你该有的基础知识
这篇文章是用来总结python中重要的语法,通过这些了解你可以快速了解一段python代码的含义 Python 的基础语法来带你快速入门 Python 语言.如果你想对 Python 有全面的了解请关 ...
- 有关JOIN ON的心得体会
在第一家公司工作大概有一年之后,我的上司开始让我负责一个项目了. 说起这个项目,其实就是类似一个报表系统的抽数据的活.我的主要工作就是将我们公司产生的数据进行抽取清理,然后生成一些带有分析性质的数据. ...
- 从一个简单的寻路问题深入Q-learning
这第一篇随笔实际上在我的科学网博客上是首发,我重新拿到博客园再发一次是希望以此作为我学习Q-learning的一个新的开始.以后这边主技术,科学网博客主理论.我也会将科学网那边技术类的文章转过来的.希 ...