1、访问元素
for (var i = 0; i < arr.length; i++) {console.log(arr[i]);}
例子:求斐波那契数列的前20个数字。已知斐波那契数列中第一个数字是1, 第二个是2,从第三项开始,每一项都等于前两项之和:
斐波那契数列为:1 1 2 3 5 8 13 21...(这里题设第一个数为1,所以代码设计去掉了数列的第一个1)
var fibonacci = []; //声明并创建了一个数组fibonacci[1] = 1; //按题意赋值fibonacci[2] = 2; //按题意赋值 for (var i = 3; i < 20; i++) {fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2]; //循环赋值}for (var i = 1; i < fibonacci.length; i++) { //循环遍历console.log(fibonacci[i]); //打印每次遍历的元素} console.log(fibonacci);//输出数组
2、数组中添加元素
注意:在JavaScript中,数组是一个可以修改的对象。如果添加元素,它就会动态增长。在C和Java等其他语言里,我们要先决定数组的大小,想添加元素就要创建 一个全新的数组,不能简单地往其中添加所需的元素。
初始化一个数组:
var arr = [0,1,2,3,4,5,6,7,8,9];
(1)在数组末位插入元素——使用 push 方法
思想:给数组添加一个元素(比如10),只要把值赋给数组中最后一个空位上的元素即可
arr[arr.length] = 10;
使用 push 方法
arr.push(11)
(2)在数组首位插入元素——使用 unshift 方法
思想:
- 要腾出数组里第一个元素的位置,把所有的元素向右移动一位。
- 循环数组中的元素,从最后一位(arr[arr.length])开始,将其对应的前一个元素的值赋给它,依次处理
- 最后把想要的值赋给第一个位置(arr[0])上
for (var i = arr.length; i >= 0; i--) {arr[i] = arr[i - 1];}arr[0] = -1; // -1为自定义值
使用 unshift 方法
arr.unshift(-1)
3、数组中删除元素
(1)删除数组末位元素——使用 pop 方法
arr.pop(11)
(2)删除数组首位元素——使用 shift 方法
思想:把数组里所有的元素都左移了一位
for (var i = 0; i < numbers.length; i++) {numbers[i] = numbers[i + 1];}
注意:这样的话,数组的长度仍然是原长度,即数组中还有额外的一个元素(未定义,值是undefined)。只是把数组第一位的值用第二位覆盖了,并没有删除元素。
arr.shift();
4、在任意位置添加或删除元素——使用splice方法
使用splice方法,简单地通过指定位置/索引,就可以删除相应位置和数量的元素:
arr.splice(5,3); //删除了从数组索引5开始的3个元素
注意:对于JavaScript数组和对象,我们还可以用 delete 操作符删除数组中的元素,例如 delete numbers[0] 。然而,数组位置0的值会变成 undefined,也就是说,以上操作等同于 numbers[0] = undefined 。因此,我们应该始终使用splice、pop或shift方法来删除数组元素。
把数字2、3、4插入数组里:
var arr = [0, 1, 2, 3, 4, 5, 6]arr.splice(5, 0, 2, 3, 4);console.log(arr) //[0, 1, 2, 3, 4, 2, 3, 4, 5, 6]var arr = [0, 1, 2, 3, 4, 5, 6]arr.splice(5, 1, 2, 3, 4);console.log(arr) //[0, 1, 2, 3, 4, 2,3, 4, 6] 注意是删除第5个元素后的元素