JS 数组学习1

//创建数组的方式

//第一种
var array = [1, 4, 5, 8, 11, 22];

//第二种
var arr1 = new Array();
var arr2 = new Array(10);//指定了数组的长度
var arr2 = new Array(1, 2, 3, 6, 8);//定义了数组

//数组的读写
var result1 = arr2[0];// 数组读取
arr2[1] = "Burgess";//数组赋值
alert(result1);
alert(arr2[1])


//稀疏数组,索引从0开始的,不连续索引的数组
var arr3 = new Array(5); //数组长度为5
arr3[0] = 100;
arr3[100] = "Bug"; //数组长度变为101

alert(arr3.length);
alert(arr3[100])


//数组元素的添加和删除

var arr4 = [];//空数组

//添加方式1
arr4[0] = 100;
arr4[1] = 200;
//添加方式2
arr4.push(300,400,500);
alert(arr4.length)

//清空数组
var ary5 = [1, 2, 3, 4];
ary5.splice(0, ary5.length);//清空数组
console.log(ary5); // 输出 [],空数组,即被清空了

//删除数组元素
var ary6 = [1,2,3,4];
ary6.splice(0,1);//或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置。
alert(ary6.length)


//delete 删除数组
//delete方法:delete arr[1]
//这种方式数组长度不变,此时arr[1]变为undefined了,
//但是也有好处原来数组的索引也保持不变, 此时要遍历数组元素可以才用
delete ary6[1];
for(index in ary6)//遍历数组
{
document.write('ary6['+index+']='+ary6[index]+" ");//这种遍历方式跳过其中undefined的元素
}


//数组方法
//join()方法,将数组中的元素转化为字符串连接
var arr6 = [1, 2, 3, 4];
var resultarr6 = arr6.join(",");
alert(resultarr6);

//reverse()方法,将数组中的元素颠倒顺序
var arr6 = [1, 2, 3, 4];
var resultarr6 = arr6.reverse().join(",");
alert(resultarr6);
//sort()方法,将数组中的元素进行排序
var arr6 = [1, 2, 3, 4];
var resultarr6 = arr6.sort(function (a,b) {
return b - a;//从大到小
//return a - b;//从小到大
});
alert(resultarr6.join(","));


//concat()方法,创建并返回新数组
var arr7 = [1, 2, 3];
arr7.concat(4, 5);//返回数组[1,2,3,4,5];
arr7.concat([4, 5]);//返回数组[1,2,3,4,5];
arr7.concat([4, 5], 6);//返回数组[1,2,3,4,5,6];
arr7.concat([4, 5], 6, [7, [8, 9]]);//返回数组[1,2,3,4,5,6,7,[8,9]];

//slice () 返回数组的一个片段或是子数组

var arr8 = [1, 2, 3, 4, 5, 6, 7, 8];
arr8.slice(0, 3) //slice() 存在两个参数(起始点,结束点)
arr8.slice(3);//存在一个参数(从起始点到结尾)
arr8.slice(-3,-1);//出现负数,表示从倒数第几个开始到倒数第几个结束

//splice () 从数组中插入或删除元素.返回删除的数组元素

var arr9 = [1, 2, 3, 4, 5, 6];

arr9.splice(1, 5);//存在两个参数(起始点,结束点),返回数组[2,3,4,5,6];
arr9.splice(4);//存在一个参数(从起始点到结尾),返回数组[5,6];
arr9.concat([4, 5], 6);//返回数组[15,6];
arr9.concat([4, 5], 6, [7, [8, 9]]);//返回数组[1,2,3,4,5,6,7,[8,9]];


//push () 从数组尾部添加元素
var arr10 = [1, 2, 3, 4, 5, 6];
arr10.push(7);//返回数组,[1,2,3,4,5,6,7]
arr10.push(8, 9);//返回数组,[1,2,3,4,5,6,7,8,9]
//pop () 从数组尾部删除元素
arr10.pop();//返回数组,[1,2,3,4,5,6,7,8]

//unshift() 在数组的头部添加元素
var arr11 = [1, 2, 3, 4, 5, 6];
arr11.unshift(0);//返回数组[0,1,2,3,4,5,6];
arr11.unshift(0,8);//返回数组[0,8,1,2,3,4,5,6];
//shift() 删除数组的第一个元素
arr11.shift(); //返回数组[8,1,2,3,4,5,6,7]

//toString()和toLocalString();将数组转换成字符串
var result11 = arr11.toLocaleString();
console.log(result11);

原文地址:https://www.cnblogs.com/2260827114com/p/6433010.html