目录
一、数组(一维)
用一个变量表示一组值的集合,每个值都是数组中的一个元素
字符串、数组和布尔值都是标量,标量只能有一个值。
如果需要一个变量存储一组值,就需要使用数组array
二、数组的声明方法(有三种):
- 第一种:直接声明数组,初始值用方括号括起来
var a=[1,2,3,4,5];
- 第二种:使用Array关键字声明,同时可指定数组的长度(也可以不写)
接下来向数组元素内进行填充:此时需要使用到数组元素的下标
需注意:数组元素下标从左到右由0开始,从右至左由-1开始(下标必须用[ ]括起来)
var b=Array(4);
//var b=Array(0);
b[0]='1';
b[1]='2';
b[2]='3';
b[3]='4';
- 第三种:声明数组的同时对它进行填充(需要用逗号把各个元素隔开)
var c=Array('1','2','3','4');
三、遍历数组的方法(两种)
- 使用简单for循环方法
//遍历输出数组a和a内元素的值类型
var a=[1,"true",true,"aaa",undefined,null];
for(var i=0;i<a.length;i++){
console.log(a[i]+'---'+typeof a[i]);
}
- 使用for in 方法,不需要数组长度等属性,更方便
//遍历输出数组b的值及元素的类型
var b=[11,'a','ccc',true,2323];
for(var x in b){
console.log(b[x]+'---'+typeof(b[x]));
}
四、js数组方法
1.valueOf()
该方法返回Array对象的原始值
var arr1=['10','22',456,'65',34,'66'];
document.write("valueOf()的结果是:"+arr1.valueOf());
~结果展示:
2.toString()
该方法可以把数组转换为字符串,并返回结果
var arr2=[11,'a','ccc',true,3456];
document.write("toString()的结果是:"+arr2.toString());
~结果展示:
3.toLocaleString()
该返回数组中的每个元素本地化表示形式
var arr2=[11,'a','ccc',true,3456];
document.write("toLocaleString()的结果是:"+arr2.toLocaleString());
~结果展示:
4.join(seperator)
该方法返回一个字符串,有每个元素转换而成的字符串使用指定的seperator拼接而成
var arr2=[11,'a','ccc',true,3456];
document.write("join()的结果是:"+arr2.join('.'));//用‘.’拼接数组内的元素
~结果展示:
5.concat()
该方法可以拼接两个或两个以上的数组,也可以添加若干个值,最后生成的是一个全新的数组
var arr4=arr1.concat(444,'lisi',arr2);
document.rite("新数组的内容:"+arr4+"新数组的长度:"+arr4.length);
~结果展示:
6.slice(start,end)
该方法获取数组中指定区间的值(左闭右开)
var arr5=arr4.slice(0,4); //取元素下标为0-3的值
document.write("slice()获取后的数组为:"+arr5+'<br>');
var arr5_1=arr4.slice(8)//取元素下标为8以后的所有值(包括8)
document.write("slice()获取后的子数组为:"+arr5_1+'<br>');
var arr5_2=arr4.slice(-5,-2);//取元素下标由后往前数第5到第3位的值(不包括2),负的由右到左从-1开始
document.write("slice()获取后的子数组为:"+arr5_2);
~结果展示:
7.splice(start,count,e1,e2[,…])
该方法可对数组进行增删改查操作
var arr6=[1,2,3,4,5];
document.write("原数组为:"+arr6+'<br>');
//截取元素下标以2开始的2个数,并以70,8,12进行替换,将截取的元素赋值给arr7
var arr7=arr6.splice(2,2,70,8,12);
document.write("裁剪之后的原数组是:"+arr6+'<br>');
document.write("splice()截取的值为:"+arr7);
~结果展示:
8.reverse()
该方法实现颠倒数组中的元素的顺序
document.write("原值为:"+arr6+'<br>');
arr7=arr6.reverse();
document.write("颠倒之后的结果为:"+arr7);
~结果展示:
9.sort()
快速排序的方法,只能排字符
要排数字就用使用“比较函数”调用
从小到大排序 a-b ,从大到小排序 b-a
function sortby(a,b){
return b-a;
}
// 若b>a,则返回一个大于0的数
// 若b<a,则返回一个小于0的数
document.write("原数组为:"+arr7+'<br>');
document.write("sort()排序后为:"+arr7.sort(sortby));
~结果展示: