1.创建数组的几种方法
var empty = []; //空数组
var nums = [1,2,3,4,5] //相同类型的数组
var differents = [1,'love',2] // 不同类型的数组
var nulls = [,,] //两个undefined
// 使用构造函数创建的数组
var arr = new Array(1,2,3,"累");
console.log(arr);
每个数组都有length属性,即arr.length属性
2.数组的方法
数组继承自Array.prototype中的属性,因此提供了很多操作数组的方法
2.1 join()
join方法将数组中所有元素转换为字符串并连接在一起,返回最后生成的字符串。可以指定一个可选的字符串在生成的字符串中来分隔数组的各个元素。如果不指定分隔符,默认为逗号
var nums = [1,2,3,4,5] //相同类型的数组
nums.join(); //1,2,3,4,5
var nn = nums.join(""); //此情况特殊,为"12345"
Array.join方法是String.splice方法的逆操作,即后者是将字符串分隔成若干块来组成数组
2.2 reverse()
此方法理解为数组的倒序,可以与join方法进行先倒序再组合
var nums = [1,2,3,4,5] //相同类型的数组
nums.reverse().join("-"); //5-4-3-2-1
2.3 sort()
数组的升序排列,如果数组包含undefined,则放置在最后。
var arr = new Array(3,1,3,2,1);
arr.sort(); //1, 1, 2, 3, 3
var arrs =["Apple","Orange","Banana"];
arrs.sort(); //"Apple", "Banana", "Orange"`
可以在sort方法中进行具体的排列,例如忽略大小写等操作
2.4 concat()
concat方法返回一个新数组,它的含义是将两个或者更多数组连接成一个数组,concat不会对数组进行修改
var a = [1,2,2,2,3];
var b = [[1,2,3],4,3,2,1];
var c = ["love"];
var d = a.concat(b,c); //1,2,2,2,3,[1,2,3],4,3,2,1,love
2.5 slice()
此方法指定数组的一个片段或者子数组。它的两个参数分别指定了片段的开始和结束位置。返回的数组包含第一个参数的指定位置和所有到但是不包含第二个参数指定的位置之间的所有数组元素。如果只指定一个参数,那么返回的数组则为从这个位置开始到结束的所有元素。如果出现负数,则表示最后一个元素,比如-1 表示为数组最后一个元素
var a = [1,2,3,4,5];
a.slice(0,3); //1,2,3
a.slice(3) //4,5
a.slice(1,-1); //2,3,4
a.slice(-1,-2); //5