JavaScript学习笔记5--数组
来源:互联网 发布:沙宝亮 知乎 编辑:程序博客网 时间:2024/06/10 20:28
1. 创建数组
数组直接量中的值不一定要是常量,可以是任意表达式;
varbase = 1024;
var table = [base,base+1,base+2];
它可以包含对象直接量或其他数组直接量
var b = [[1,{x:1,y:2}],[2,{x:3,y:4}]];
如果省略数组中直接量的某个值,为undefined
var undefs = [,,];//数组有2个元素,数组直接量允许有可选的结尾逗号
2. 数组元素的读和写
注意,可以使用负数或非整数来索引数组。数值转换为字符串,字符串作为属性名来用。
如果使用了是非负整数的字符串,它就当做数组索引,而非对象属性。
a[-1.23] = true;//创建一个名为“-1.23”的属性a["1000"] = 0;//数组的第1001个元素a[1.000] //和a[1]相等
3. 数组的长度
每个数组有一个length属性
特殊行为:设置length属性为一个小于当前长度的非负整数n时,当前数组中的那些索引值大于或等于n的元素将被删除:
a = [1,2,3,4,5];a.length = 3;//现在为a[1,2,3]a.length = 0;//删除所有元素,为a[]a.length = 5;//没有元素,长度为5,像new Array(5)
4. 数组元素的添加和删除
1)直接赋值
2)使用push()方法,在末尾添加一个或多个元素
a = [];a.push("one");//现在为a["one"]
3)delete删除数组元素:
a = [1,2,3,4,5];delete a[1];//a在索引1的位置不再有元素
数组有pop()方法,一次是减少长度1并返回被删除元素的值;
shift()方法,从数组头部删除一个元素。
splice()是一个通用的方法来插入、删除或替换数组元素。
5. 数组方法
1) join()方法
将数组中所有元素都转化为字符串并连接在一起
var a = [1,2,3];a.join();//"1,2,3"a.join(" ");//"1 2 3"a.join("");//"123"var b = new Arrray(10);//b.join('-');//'---------'
2) reverse()方法
将数组中的元素颠倒顺序,返回逆序的数组。
var a = [1,2,3];a.reverse().join();//"3,2,1",并且现在的a是[3,2,1]
3) sort()方法
数组中的元素排序并返回排序后的数组。
var a = new Array("banana","apple","cherry"); a.sort();var s = a.join(",");//s="apple","banana","cherry"
对一个数组执行不区分大小写的字幕排序
var a = new Array("ant","Bug","cat","Dog"); a.sort();//"Bug","Dog","ant","cat" a.sort(function(s,t){ var a = s.toLowerCase(); var b = t.toLowerCase(); if (a < b) return -1; if(a > b) return 1; return 0;});//=>"ant","Bug","cat","Dog"
4) forEach() 方法
遍历数组,为每个元素调用指定的函数
var data = [1,2,3,4,5];var sum = 0;data.forEach(function(value){ sum += value});data.forEach(function(v,i,a){ a[i] = v + 1;});
forEach()无法在所有元素都传递给调用个函数之前终止遍历。不能使用break语句。
5) map()方法
调用的数组的每个元素传递给指定的函数,返回一个数组,包含函数返回值。
var data = [1,2,3,4,5]; var b = data.map(function(x){ return x*x; });alert(b);
6) filter()方法
返回的数组元素是调用的数组的一个子集。传递的函数是用来逻辑判定的:true or false.
var data = [1,2,3,4,5]; var small = data.filter(function(x){ return x<3; });//2,1 var other = data.filter(function(x){ return x%2!=0; });//5,3,1alert(small); alert(other);
7)every() 和some()方法
返回true或false。
every() 针对所有,some()象数学中的“存在”.
var data = [1,2,3,4,5];alert(data.every(function(x){return x<10;}));//truealert(data.some(function(x){return x%2==0;}));//true
8)reduce() 和reduceRight()方法
使用指定的函数将数组元素进行组合,生成单个值。
var data = [1,2,3,4,5];var sum = data.reduce(function(x,y){return x+y;},0);//数组求和,第二个函数是一个传递给函数的初始值var product = data.reduce(function(x,y){return x*y;},1);//数组求积var max = data.reduce(function(x,y){return (x>y)?x:y;});//数组最大值alert(sum+","+product+","+max);//true
reduceRight() 按照数组索引从高到低(从右到左);
9)indexOf() 和 lastIndexOf()方法
搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引或如果没找到返回-1
indexOf()从头至尾,lastIndexOf()反向搜索。
var data = [1,2,3,1,5];var s = data.indexOf(1);//0var p = data.lastIndexOf(1);//3var m = data.indexOf(6);//-1alert(s+","+p+","+m);
可以使用charAt(i)访问单个字符。
- javascript学习笔记(5) --数组
- JavaScript学习笔记5--数组
- Javascript学习笔记-----数组
- JavaScript学习笔记:数组
- JavaScript 数组学习笔记
- javascript 学习笔记-数组
- Javascript学习笔记(数组)
- JavaScript学习笔记(5)数组
- JavaScript 学习笔记 五 数组
- JavaScript学习笔记三:数组
- JavaScript学习笔记28-数组
- JavaScript数组操作学习部分笔记
- (10)JavaScript学习笔记 - 数组
- 学习笔记:第六章--javascript数组
- 【学习笔记】JavaScript编码规范-数组
- JavaScript学习笔记(数组篇)
- [学习笔记]JavaScript基础--数组操作
- [学习笔记]JavaScript基础--数组连接
- hdu1728 逃离迷宫 --bfs
- RtlSetProcessIsCritical将进程设置为系统严重状态(防止进程被结束)
- Apache zookeeper 入门学习到Apache Curator
- 卡普雷卡数
- 第二次计数器作业
- JavaScript学习笔记5--数组
- 域名解析中A记录、CNAME、MX记录、NS记录的区别和联系
- LeetCode 468. Validate IP Address
- Android studio 无法显示引用对象的方法提示列表
- Powershell 简单爬虫示例 附,爬知乎示例 加代理
- 【工具】用hexo搭建博客
- mysql之date_format函数
- Qt之网络编程(一)
- Python链表的实现