JavaScript数组可以包含任意类型的数组,并通过索引访问每个元素
"use strict"; var arr = [1,2,3,4,5,'a','b','ASD',true]; console.log(arr.length); // 9 //直接给arr.length赋值可以改变数组长度 var lis = [1,2,3]; console.log(lis.length); // 3 lis.length = 5; console.log(lis); // [ 1, 2, 3, <2 empty items> ] console.log(lis.length); // 5 lis.length = 2; console.log(lis); // [ 1, 2 ]
通过索引修改对应的元素:///ps:通过索引赋值,如果超过索引范围同样会改变数组长度。
var str = ['a', 'bc', 'd']; str[2]=0; console.log(str); // [ 'a', 'bc', 0 ] var arr = [1, 2, 3]; arr[5] = 'x'; arr; // arr变为[1, 2, 3, undefined, undefined, 'x']
indexOf()函数:<类似于set ?>
var num = [1,2,3,4,'a','v','s']; console.log(arr.indexOf('a')); //5
slice() 函数:<切片>
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C'] arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']
push 和 pop :
push()是向Array的末尾添加若干元素, pop() 是删除最后一个元素:
var arr = [1, 2]; arr.push('A', 'B'); // 返回Array新的长度: 4 arr; // [1, 2, 'A', 'B'] arr.pop(); // pop()返回'B' arr; // [1, 2, 'A'] arr.pop(); arr.pop(); arr.pop(); // 连续pop 3次 arr; // [] arr.pop(); // 空数组继续pop不会报错,而是返回undefined arr; // []
shift 和unshift:
unshift()向元素开头添加若干元素,shift()方法是把Array的第一个元素删掉。
var num = [1,2,3]; num.unshift(-1,0); console.log(num); // [ -1, 0, 1, 2, 3 ]
num.shift();
console.log(num); // [ 0, 1, 2, 3 ]
sort()函数,排序:
默认按照字典序从小到大排序
用法:arr.sort();
reverse()函数:元素颠倒:
用法:arr.reverse()
splice()函数:可以任意修改数组,对数组本身进行修改:
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; 1,2分开执行
1、
// 从索引2开始,删除3个元素,并且添加2个元素 arr.splice(2,3,'!','*'); console.log(arr); // [ 'A', 'B', '!', '*', 'F', 'G' ] 2、
// 只删除2个 arr.splice(1,2); console.log(arr); // [ 'A', 'D', 'E', 'F', 'G' ]
contact()函数,把当前Array和另一个Array连接起来,返回一个新的Array。
实际上,concat()
方法可以接收任意个元素和Array
,并且自动把Array
拆开,然后全部添加到新的Array
里:
var arr = ['A', 'B', 'C']; arr.concat(1, 2, [3, 4]); console.log(arr.concat(1, 2, [3, 4]));// ['A', 'B', 'C', 1, 2, 3, 4]
join()函数,把当前数组的元素用指定符号连接,返回连接后的字符串
var arr = ['A', 'B', 'C', 1, 2, 3]; console.log(arr.join('-')); //A-B-C-1-2-3
如果Array
的元素不是字符串,将自动转换为字符串后再连接。
多维数组
如果数组的某个元素又是一个Array
,则可以形成多维数组,例如:
var arr = [[1, 2, 3], [400, 500, 600], '-'];
上述Array
包含3个元素,其中头两个元素本身也是Array
。