书籍:
数据结构与算法javascript描述
数组比较简单,这里只是简单介绍:
1.使用数组
1.1 创建数组
1 | //第一种形式 |
大多数JavaScript 专家推荐使用[]操作符,和使用Array 的构造函数相比,这种方式被认为效率更高(new创建的对象,会一直存在于内存中)
1.2 读写数组
1 | var numbers = [1,2,3,5,8,13,21]; |
1.3 字符串生成数组
1 | //下面的这一小段程序演示了split() 方法的工作原理: |
1.4 对数组的整体性操作
1 | var nums = []; |
这种行为被称为浅复制,新数组依然指向原来的数组。一个更好的方案是使用深复制,将
原数组中的每一个元素都复制一份到新数组中。可以写一个深复制函数来做这件事:
1 | function copy(arr1, arr2) { |
2. 存取函数
2.1 查找元素
1 | var names = ["David", "Cynthia", "Raymond", "Clayton", "Jennifer"]; |
2.2 两个函数使用
concat 连接
splice 截取
join() 和toString() 将数组转化为字符串
1 | var cisDept = ["Mike", "Clayton", "Terrill", "Danny", "Jennifer"]; |
3. 可变函数
简单函数:1
2
3
4push() 末尾增加元素
unshift() 在开头添加元素
pop() 在末尾删除元素
shift() 在开头删除元素
从数组中间删除元素:
1 | var nums = [1,2,3,7,8,9]; |
排序函数:
1 | var nums = [1,2,3,4,5]; |
1 | var names = ["David","Mike","Cynthia","Clayton","Bryan","Raymond"]; |
自定义:
1 | function compare(num1, num2) { |
4.迭代器
1 | 函数 说明 是否生成新数组 |
5.二维数组和多维数组
1 | Array.matrix = function(numrows, numcols, initial) { |
6.两种特殊的数组
数组的函数同样适用
对象数组1
2
3
4function Point(x,y) {
this.x = x;
this.y = y;
}
对象中的数组
1 | function weekTemps() { |