javascript中数组案例
以下是源代码<!DOCTYPE html><html><head><meta charset="UTF-8"><title>javascript中数组案例</title><link rel="stylesheet" type="text/css" href="inputAndDiv...
·
以下是源代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>javascript中数组案例</title>
<link rel="stylesheet" type="text/css" href="inputAndDiv.css">
</head>
<body style="background-color: #CCE8CF;">
<h3 style="color: #cd1636;">javascript中数组案例</h3>
<input type="button" value="案例1,测试数组的shift()函数" onclick="test1();">
<br/><br/>
<input type="button" value="案例2,测试数组的shift()函数" onclick="test2();">
<br/><br/>
<input type="button" value="案例3,循环遍历一个数组" onclick="test3();">
<br/><br/>
<input type="button" value="案例4,测试数组的splice()函数" onclick="test4();">
<br/><br/>
<input type="button" value="案例5,数组越界不会报错,会返回undefined" onclick="test5();">
<br/><br/>
</body>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
/*
注意:经过shift()后,数组的length长度会立马改变,所以,我才采
取下面这种下标index减减的方式,刚好把整个数组中的元素都打印了一遍。
*/
function test1(){
var names = ['令狐冲', '韦小宝', '张无忌', '杨过', '段誉', '乔峰'];
console.log(names, '数组中目前有' + names.length + '个元素');
for (var index = names.length; index > 0; index--) {
console.log(names.shift(), names.length, index);
}
console.log(names, '数组中目前有' + names.length + '个元素');
}
function test2(){
var names = ['令狐冲', '韦小宝', '张无忌', '杨过', '段誉', '乔峰'];
console.log(names, '数组中目前有' + names.length + '个元素');
var elementCount = names.length;
for (var index = 0; index < elementCount; index++) {
console.log(names[0], names.length, index);
names.shift();
}
console.log(names, '数组中目前有' + names.length + '个元素');
}
//循环遍历的多种写法
function test3(){
console.log('******循环遍历方式1*******');
var names = ['苏荃', '建宁公主', '双儿', '曾柔', '方怡', '阿珂', '沐剑屏'];
for (var index = 0; index < names.length; index++) {
console.log(names[index]);
}
console.log('******循环遍历方式2*******');
var a = 0;
//下面这种循环遍历的写法有点多此一举,a变量有点多余(我只是突发奇想换种新写法而已)
for (var i = 0; i < names.length; i++) {
console.log('此时a=' + a);
//a变量有点多余,直接使用i变量就可以循环遍历数组
console.log(names[a++], names[i]);
console.log('此时a为' + a);
}
console.log('******换一种写法*******');
for (var x = 0; x < names.length;) {
console.log(names[x]);
x++;
}
console.log('******再换一种写法*******');
for (var y = 0; y < names.length;) {
console.log('此时y=' + y);
console.log(names[y++]);
console.log('此时y为' + y);
}
}
function test4(){
var names = ['杨过', '郭靖', '乔峰', '虚竹', '段誉'];
console.log('******原始数组******', names);
var elementCount = names.length;
for (var index = 0; index < elementCount; index++) {
var arrElement = names.splice(0, 1)[0];
console.log('第' + (index + 1) + '个元素', arrElement);
console.log('删除第' + (index + 1) + '个元素' + arrElement + '后,此时数组是', names, '此时还剩' + names.length + '个元素');
}
console.log('******循环遍历后的数组******', names);
}
//数组越界不会报错,会返回undefined
function test5(){
//在js中,字符串既可以用单引号包着,也可以用双引号包着,如下:
var movies = ['《阿凡达》', '《泰坦尼克号》', "《复仇者联盟3:无限战争》", "《误杀》"];
console.log('元素个数为' + movies.length);
console.log('****' + movies[0]);
console.log('****' + movies[1]);
console.log('****' + movies[2]);
console.log('****' + movies[3]);
//数组越界不会报错,会返回undefined
console.log('****' + movies[4]); //结果为****undefined
}
</script>
</html>
更多推荐
所有评论(0)