标签:
数组的定义:
JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数。然而,这些数字索引在内部被转换为字符串类型,这是因为 JavaScript 对象中的属性名必须是字符串。在内部被归类为数组。由于 Array 在 JavaScript 中被当作对象,因此它有许多属性和方法可以在编程时使用。
使用数组:
1.创建数组
① 使用 [] 操作符 ,var arr=[] ,该方法效率最高。
② 调用 Array 的构造函数创建数组,var myArr=new Arrery()
2.读写数组
3.由字符串生成数组,调用字符串对象的split()方法。
4.对数组的整体性操作:(这里注意,曾经面试题出现)
浅复制:将数组a赋值给数组b,此时的数组b只是对数组a的引用,当数组a发生改变时,数组b也随着发生改变。
var a=[]; for(var i=0;i< 5;i++){ a[i]=i; } var b=a; console.log(a[1]); console.log(b[1]);//赋值引用前 1 a[1]=999; console.log(a[1]); console.log(b[1]);//赋值引用后 999
深复制:可以封装一个copy()方法。
存取数组:
1.查找元素:indexOf() lastIndexOf()
2.数组的字符串表示:将数组转化为字符串:join() toString()
说到这里的toString(),我想起了toString() 与valueof() 的隐式调用。这里很有意思,也略坑,不严谨的说下,当需要计算式,会隐式调用valueof()。当需要显示数据或者结果时会调用toString()。有兴趣的同学可以google一下。
3.由已有的数组创建新数组:
concat()方法合并已有的多个数组,创建新数组
splice()方法截取出一个数组的子集创建新数组
可变函数:
1.为数组增添元素:
push()方法将元素增添至末尾, unshift()将元素增添至开头
2.从数组中删除元素:
pop() 方法可以删除数组末尾的元素
Shift() 方法可以删除数组的第一个元素
3.从数组中间位置添加和删除元素:splice()
4.数组排序:正序(字典顺序):sort(), 倒序;reverse()
迭代器:
对数组的每个元素运用一个函数,可以返回一个值,一组值或一个新数组
二维和多维数组:
1.创建二维数组
JavaScript 只支持一维数组,但是通过在数组里保存数组元素的方式,可以创建多维数组。二维数组类似由行和列构成的数据表格。在 JavaScript 中创建二维数组,先创建一个数组,然后让数组的每个元素也是一个数组。
这里 通过扩展数组对象增加一个新方法,该方法设定数组的行数、列数和初始值。下面是这个方法的定义(引用JavaScript: The Good Parts(O’Reilly)一书的一段代码):
Array.matrix = function (numrows, numcols, initial) { var arr = []; for (var i = 0; i < numrows; ++i) { var columns = []; for (var j = 0; j < numcols; ++j) { columns[j] = initial; } arr[i] = columns; }
2.处理方式i:使用嵌入式的for循环
对象数组:
数组除了包含基本数据类型元素(数字,字符串)还包含对象,数组的方法和属性对对象依然适用。在对象中,可以使用数组存储复杂的数据。
注意:本篇是我翻阅《数据结构与算法javascript描述》的所写大纲内容的过程笔记,需要深入学习的同学,还需看原书。初学者可以以此作为学习的大纲。至于好厉害的人,忽略本文,当然可以提建议,我定当修改。
本系列文章会持续更新。
标签:
原文地址:http://www.cnblogs.com/LIUYANZUO/p/5745558.html