数组
一、数组的声明:
1、一维数组
var x=new Array();//空数组
var x = new Array(size); //指定长度的数组
var x = new Array(element 0,element 1,……);//指定初始值,,,,不限定存放的数据类型
还可以: var x =[“小明”, “小红” ] ;//表示一维数组数组元素 ----小明,小红
但是var x=[3] 则表示数组x的长度为3;
2、
二维数组 用数组嵌套实现二维或多维数组
Eg:arr[0] = {‘你’ , ‘好’ , ‘啊’};
arr[1] = {‘你’, ‘真’,‘美’ };
arr[2] = {‘you’ , ‘are’ , ‘full’};
//遍历二维数组
for(var i=0; i<arr.length; i++)<="" p="">
{
for(var j=0; i<arr[i].length ;="" i++)<="" p="">
{
Document.write(arr[i][j]+” ”);
}
Document.write(‘
’);
}
二、数组的长度与下标
1、var a = new Array();定义空指针
但 超过数组长度的下标指改变数组的长度
2、a.length=5(加数字直接 改变长度------可以加长 也可以缩短)
但是alert(a[6])就会显示 undefined
三、数组常用的方法
方法 |
作用 |
EG |
concat |
连接两个或更多数组,并返回结果 |
var c=a.concat(b); |
Join |
把数组的所有元素放入一个字符 |
Var a=new Array(‘’a,’b’); a.join(‘”!”) |
pop |
删除并返回数组的最后一个元素 |
a.pop(); |
Push |
向数组的末尾添加一个或更多的元素,并返回新的长度 |
返回的是长度 |
Reverse |
颠倒数组中的顺序 |
颠倒后返回新数组 |
Shift |
删除并返回数组的第一个元素 |
删除并返回删除的元素 |
Slice |
从某个已有的数组返回选定的元素 |
var arr = ["George","John","Thomas","James","Adrew","Martin"]; document.write(arr.slice(2,-2)); // Thomas,James//负数 从后面数-2(即倒数第三个数) |
Sort() |
对数组的元素进行排序 |
默认是按照字符编码的顺序进行排序 参数写比较函数 |
splice |
删除元素,并向数组添加新元素 |
1. splice(index删除的位置负数倒着数,howmany数量,new1,从删除位置添加,new2...) |
tostring |
把数组转换为字符串,并返回结果 |
专为字符串,并自动加 ,号 |
Unshift |
向数组的开头添加一个或更多的元素,并返回新的长度 |
部分代码:(有点乱 ,大概找到要看的函数 看一下运行结果就可以了)
<script type="text/javascript">
var a = new Array();
do {
var name = prompt('请输入字符串, 想要结束请输入“END"结束', 'END');//'END' 为默认填写的内容
a[a.length] = name;
} while (name != 'END');
a.length = a.length - 1;
alert(a);
var b = new Array();
b[0] = ["ni", "hao"];
b[1] = [3, 4];
//for (var i = 0; i < b.length; i++)
// for (var j = 0; j < b[i].length; j++)
// {
// document.write(b[i][j]+"
")
// }
for (var i in b)
for (var j in b[i])
{
document.write(b[i][j] + "
")
}
var b = new Array('小崽', '重载', '打在');
for (var i = 0; i < b.length; i++) {
alert(b[i]);
}
//concat()连接
document.write(b.concat());
//join()把数组的所有元素放入一个字符
document.write(b.join("!"));
document.write("
");
//pop()删除最后一个元素并输出 删除后的数组
document.write(b.pop());
//tostring()方法;
var arr = new Array();
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "
");
//for(var i in arr)
//for (var i in arr) {
// document.write(i + arr[i]);
//}
var c = arr.toString();
document.write(c + "
");
document.write(c.replace(/\,/g, "") + "
");//toString后去掉 , 号/\,/g 不加g 指去掉第一个
document.write(arr + "
")
//排序
document.write(arr.sort());
//法用于把数组的第一个元素删除,并返回这个元素的值。
document.write(arr.shift() + "
");
document.write(arr);
//
shift
document.write(arr.shift());
document.write(arr);
for (var i in arr) {
document.write(i + arr[i]);
}
二维数组的演示
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr[i].length; i++) {
document.write(arr[i][j] + " ");
}
document.write('
');
}
</script>