Array对象的实例如何创建
- 使用Array创建
var arr = new Array();
var arr1 = new Array(2); //后面的参数表示数组的长度为2
var arr3 = new Array(2,3,4); //表示数组里面的数据有2,3,4.
- 使用字面量创建
var arr4 =[2,3,4,5]; //声明的时候就直接给数组赋值了,括号就是数组的值。
判断一个数据是否是数组
- 使用 instanceof 判断数是否是数组
if(arr instanceof Array){
console.log(" 是数组 !")
}
else
{
console.log(" 不是数组 !")
}
- 使用isArray 方法
console.log(Array.isArray(arr)); //isArray 是 Array 的一个方法。
数组常用的方法
- push
- 作用:在数组的最后面开始添加元素。
- 参数:一个或者多个。
- 返回值:插入元素后数组的长度,原数组发生变化了。
console.log(arr.push(1,2,3,4)); //arr中的元素多了几个,长度发生变化。
- pop
- 作用:将数组的最后一个元素删除。
- 参数:无。
- 返回值:被删元素,数组长度发生变化。
console.log(arr.pop());
- shift
- 作用:取出数组中的第一个元素。
- 参数:无。
- 返回值:取出的元素。
console.log(arr1.shift());
- unshift
- 作用:给数组最前面插入一个或多个元素。
- 参数:一个或者多个。
- 返回值:新数组的length。
console.log(arr2.unshift(2,3,4,5)); //把元素依次插入到了arr2中的前面。
- reverse
- 作用:数组翻转。
- 参数:无。
- 返回值:翻转后的数组。
var result = arr3.reverse();
console.log(arr3); //将arr3中的元素从后往前依次重新排列了。
- sort
- 作用:按ASCII码的顺序将数组元素排列。
- 参数:如果要将数组按数值类型排列,需要传入比较函数
- 返回值:排好序的数组
var newArr = arr4.sort(
function fn(a,b){
return a-b; //返回a-b按升序排列,返回b-a按降序排列。
}
)
- concat
- 作用:将多个数值连接起来
- 参数:一个或者多个。
- 返回值:拼接后的数组。
var result = arr.concat(arr2,arr3,arr4);
console.log(result); //返回值是几个数组连接起来的数组
slice
- 作用: 对数组元素进行截取(不改变原有的数组只是copy了一份)
- 参数:0个1个或者2个(0个参数截取所有元素,1个参数代表从这个参数开始一直到结束,2个参数代表从第一个参数开始到第二个参数结束(包含开始不包含结束))。
splice
- 作用:同上。
- 参数:可任意个参数(多个参数代表从第一个参数开始截取第二个参数的长度,第三个参数开始是插入的元素)
- indexof
- 作用:查找元素第一次出现的位置,如果没有这个元素,就会返回-1。
- lastindexof
- 作用:查找元素最后一次出现的位置,如果没有这个元素,就会返回-1。
- join
- 作用:将数组转换为字符串,可以使用分隔符,默认情况下用都哈哈分割的。
- 参数:想要使用的分隔符
console.log(arr3.join("-----"));
//join方法相当于以下
function fn(arr,sep){
if(!arr isArray Arroy){
alert("传入的不是数组呀!')
}
sep=sep||",";
for(var i = 0;i<arr.Length-1;i++){
var str+=arr[i]+sep;
}
str=str+arr[arr.length-1];
return str;
}
var result = fn(arr3,"/");
console.log(result);
//利用 push 完成的数组翻转
var newArr;
for(var i=arr.Length-1;i>=0;i--){
newArr.push(arr[i]);
}
console.log(newArr);