JS–数组 <二>
1、以对象方式来创建
var arr1 = new Array(); //创建一个新数组
arr1 [0] = "1"; //写入 0 位置内容
arr1 [1] = "2"; //写入 1 位置内容
...
arr1 [100] = "101"; //写入 100 位置内容,即数组arr1长度为101;
2、以字变量方式来创建
var arr2 = ["ab", c, d, [e, f, g]]; //创建一个长度为4的数组
alert( arr2[3][2]); //输出第3组第2项,即输出位f;
for (i=0; i<arr2.length; i++){
alert (arr2[i];) } //循环输出数组所有项
3、数组拼接
var arr3=[1,2,3];
var arr4=[4,5,6];
document.write(arr3.concat(arr4)+"</br>"); //拼接arr4到arr3后,得到新的arr3=[1,2,3,4,5,6];
document.write(arr4.concat(arr3)); //拼接arr3到arr4后,得到新的arr4=[4,5,6,1,2,3];
4、将数组变成字符串–join
var arr5=["a", "b", 1, 5, "哈"];
var pinjie=arr5.join("#");
alert(arr5.join("#")); //a#b#1#5#哈--9位字符串
alert(typeof pinjie); //string,即pinjie为字符串且为9位字符串“a#b#1#5#哈”
5、翻转数组–reverse
var arr6 = [5,6,7,1,2,3];
document.write(arr6.reverse()); //3,2,1,7,6,5
6、删除数组某元素–shift,pop,splice
var arr6 = [5,6,7,1,2,3];
document.write(arr6.shift()); //默认删除第一个元素,即 6,7,1,2,3
document.write(arr6.pop()); //删除最后一个元素,即5,6,7,1,2
document.write(arr6.splice(0,3)); //从“第一个参数”位开始,删除“第二个参数”个元素,且返回删除元素即从0位开始,删除3个元素,返回值位:1,2,3
7、增加数组某元素–push,unshift
var arr6 = [5,6,7,1,2,3];
document.write(arr6.unshift(1,2)); //默认添加至首位,即 1,2,5,6,7,1,2,3
document.write(arr6.push(8,9)); //默认添加至末位,即 5,6,7,1,2,3,8,9
8、数组内元素按某次序冒泡排序–sort
sort(),配合匿名函数使用实现数组冒泡排序,a-b 升序,b-a 降序;
function add(a,b){
return a-b;
}
function sub(a,b){
return b-a;
}
var arr7=[3,4,6,8,1,10,2,15];
document.write(arr7.sort(add)); //1,2,3,4,6,8,10,15
9、数组最大值/最小值
运用假设对象来找到最大/小值
var arr8 = [-5, 4, 15, 20];
function max(arr) {
var maxNum = arr[0]; //假设第一项是最大数
for(var i = 1; i < arr.length; i++) {
if(maxNum < arr[i]) {
maxNum = arr[i]; //交换数值
};
};
return maxNum;
};
document.write(max(arr8)); //20