<script>
// 数组
// 改变数组里面的值
var arr = [1,2,3];
arr[0] = 100;// 下标引用// 返回索引为0的元素,即1
console.log(arr[0]);//输出100
// 没有赋值显示undefined
arr[4]='x';
console.log("arr"+arr); // 未对arr[3]进行赋值,显示arr100,2,3,,x
// 遍历数组
for(var i=0;i<arr.length;i++){
console.log("arr"+"["+i+"]"+"为:"+arr[i]);//arr[3]显示为undefined
}
// 可以通过indexOf()来搜索一个指定的元素的位置:
var arr2 = [10, 20, '30', 'xyz'];
console.log("arr2.indexOf(10)显示为"+arr2.indexOf(10)); // 元素10的索引为0
// 对数组进行增删改使用的方法
// slice
// slice()它截取Array的部分元素,然后返回一个新的Array:
var arr3 = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr3.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3。相当于左闭右开区间
// : ['A', 'B', 'C']
// push()向数组末尾添加一个或多个元素,并返回新的长度
var arr4 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
arr4.push(11);// 向数组末尾添加一个或多个元素,并返回新的长度
console.log(arr4);//输出[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
console.log("arr4.push()为:",arr4.push());//输出11
// pop()删除数组最后一个元素,并返回被删除的元素
//arr4.pop();
console.log("arr4.pop()为:",arr4.pop());//显示11
// unshift和shift
// 如果要往Array的头部添加若干元素,使用unshift()方法,shift()方法则把Array的第一个元素删掉:
var arr5 = [1, 2];
arr5.unshift('A', 'B'); // 返回Array新的长度: 4
arr5; // ['A', 'B', 1, 2]
arr5.shift(); // 'A'
arr5; // ['B', 1, 2]
// sort
// sort()可以对当前Array进行排序,它会直接修改当前Array的元素位置,直接调用时,按照默认顺序排序:
var arr6 = ['B', 'C', 'A'];
arr6.sort();
arr6; // ['A', 'B', 'C']
// reverse
// reverse()把整个Array的元素给调个个,也就是反转,逆序排序
var arr7 = ['one', 'two', 'three'];
arr7.reverse();
arr7; // ['three', 'two', 'one']
// splice()方法是修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素:
var arr8 = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
// 从索引1开始(包括1)删除2个元素,然后再添加1个元素:
arr8.splice(1, 2, 'Google'); // 返回删除的元素 ['Apple', 'Yahoo',]
arr8;
// ['Microsoft', 'Google', 'AOL', 'Excite', 'Oracle']
// concat()方法把当前的Array和另一个Array连接起来,并返回一个新的Array:
var arr9 = ['A', 'B', 'C'];
var add = arr9.concat([1, 2, 3]);
add; // ['A', 'B', 'C', 1, 2, 3]
arr9; // ['A', 'B', 'C']
// 请注意,concat()方法并没有修改当前arr9,而是将arr9数组成员加上给的成员([1, 2, 3]),加入新的数组add中去。
var arr10 = ['A', 'B', 'C'];
arr10.concat(1, 2, [3, 4]); // ['A', 'B', 'C', 1, 2, 3, 4]
// join()方法是一个非常实用的方法,它把当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串:
var arr11 = ['A', 'B', 'C', 1, 2, 3];
arr11.join(','); // 'A,B,C,1,2,3'
// 如果Array的元素不是字符串,将自动转换为字符串后再连接。
// 多维数组
// 如果数组的某个元素又是一个Array,则可以形成多维数组,例如:
var arr12 = [[1, 2, 3], [400, 500, 600], ['-'," " ,]];
//想象成成3行3列的行列式就好看多了
// 打印一下:
console.log(arr12);
console.log("arr12为"+arr12);
// 取500
console.log("arr12[1][1]为:"+arr12[1][1]);//arr12[1][1]为:500
// 看一下2行2列的是什么
console.log("arr12[2][2]为"+arr12[2][2]);//因为最开始为定义,所以显示为undefined,并不会补为0
</script>