<script type="text/javascript">
/* JavaScript 数组知识点 */
var arr = ['A', 'B', 'C', 'D'];
// 数组长度
console.log(arr.length); //4
// 直接给Array的length赋一个新的值会导致Array大小的变化:
arr.length = 5;
console.log(arr); // [ "A", "B", "C", "D", undefined ]
arr.length = 2;
console.log(arr); // [ "A", "B" ]
// 通过索引改变值
arr[0] = "#";
console.log(arr); // [ "#", "B" ]
// 如果通过索引赋值时,索引超过了范围,同样会引起Array大小的变化
arr[5] = "end"
console.log(arr); // [ "#", "B", undefined , undefined , undefined ,"end" ]
console.log("------------------------------------------------------");
// indexOf 搜索一个指定的元素的位置
arr = [10, 20, '30', 'xyz'];
console.log(arr.indexOf(10)); // 0
console.log(arr.indexOf(20)); // 1
console.log(arr.indexOf(30)); //-1
console.log(arr.indexOf("30")); // 2
console.log(arr.indexOf("xyz"));// 3
//slice() 就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array:
arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
console.log(arr.slice(0,3));// [ "A", "B", "C" ]
console.log(arr.slice(3)); // [ "D", "E", "F", "G" ]
console.log(arr.slice()); //相当于复制一个数组 [ "A", "B", "C", "D", "E", "F", "G" ]
//push()末尾添加元素 pop()删除最后一个元素
var temp = [1,2];
temp.push("A","B");
console.log(temp); // [ 1, 2, "A", "B" ]
temp.pop();
console.log(temp); // [ 1, 2, "A" ]
//unshift()头部添加元素 shift()删除第一个元素
temp = ["a","b","c"];
temp.unshift(1,2,3);
console.log(temp); // [ 1, 2, 3, "a", "b", "c" ]
temp.shift();
console.log(temp); // [ 2, 3, "a", "b", "c" ]
//sort() 当前Array进行排序
var val = ["C","A","B"];
val.sort();
console.log(val); // [ "A", "B", "C" ]
//reverse() 数组反转
val = [1,2,3];
console.log(val.reverse()); // [ 3, 2, 1 ]
//splice() 从指定的索引开始删除若干元素,然后再从该位置添加若干元素
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle']
var temp = arr.splice(2,3,"T","Y"); //从索引2开始删除三个元素
console.log(temp); // 删除的元素 [ "Yahoo", "AOL", "Excite" ]
console.log(arr); // [ "Microsoft", "Apple", "T", "Y", "Oracle" ]
var delValue = arr.splice(2,2); //从索引2开始删除两个元素
console.log(delValue); //删除的元素 [ "T", "Y" ]
console.log(arr); //[ "Microsoft", "Apple", "Oracle" ]
delValue = arr.splice(2,0);
console.log(delValue); // []
//concat() 把当前的Array和另一个Array连接起来,并返回一个新的Array
var t1 = ["A","B","C","D","E"]
var t2 = ["a","b","c","d","e"];
console.log(t1.concat(t2)); // [ "A", "B", "C", "D", "E", "a", "b", "c", "d", "e" ]
//join()把当前Array的每个元素都用指定的字符串连接起来
var arr = ['A', 'B', 'C', 1, 2, 3];
console.log(arr.join("-")); // A-B-C-1-2-3
console.log("------------------------------test-------------------------------------")
//练习:如何通过索引取到500这个值:
var arr = [[1, 2, 3], [400, 500, 600], '-'];
console.log(arr[1][1]); //500
/*
Array提供了一种顺序存储一组元素的功能,并可以按索引来读写。
练习:在新生欢迎会上,你已经拿到了新同学的名单,请排序后显示:欢迎XXX,XXX,XXX和XXX同学!:
*/
var arr = ['小明', '小红', '大军', '阿黄'];
console.log("欢迎"+arr.sort().slice(0,3)+"和"+arr.sort()[3]+"同学!");
//欢迎大军,小明,小红和阿黄同学!
</script>