数组方法详解
在JavaScript中为数组提供了一系列的方法,以常见的方法为例进行解释说明:
1.isArray()方法:判断变量是否为数组 是数组返回true 否则返回false
语法:Array.isArray();固定用法,只能由Array对象调用
eg:var arr=[]; Array.isArray(arr); //true
var arr1=Array.isArray('an wod');//false 为字符串
2.valueOf()归属于Object类型返回对象的初始值,在数组中返回数组本身。
eg:arr.valueOf()===arr //true
3.toString() 将数组转换为字符串,默认以逗号隔开。返回新的字符串,不改变原数组。此方法没有参数。
4.push()在数组的末尾添加新的数组元素,并且返回添加元素后新数组的长度。该方法对数组产生影响。
eg:var arr=['hello','bye','world'];
arr.push('yes'); //4 返回新数组的长度
5.pop()此方法删除数组最后一个元素,并且返回被删除的数组元素,改变原数组。此函数没有参数值。
eg:var arr=['hello','bye','world'];
arr.pop(); //world 返回该删除元素
6.shift()此方法删除数组的第一个元素,并返回被删除数组元素,对原数组产生影响。此函数没有参数值。
雷同于pop()方法;
eg:var arr=['hello','bye','world'];
arr.shift(); //hello 返回该删除元素
7.unshift()方法 此方法在数组的第一位添加新的数组元素,并返回新数组的长度,对原数组产生影响。
雷同于push()方法。原数组元素依次往后排。可以有多个参数。
eg:var arr=['hello','bye','world'];
arr.unshift('123','323'); //5 返回该删除元素
8.reverse() 方法 将原数组元素反序输出。并对原数组产生影响。
eg:var arr=['hello','bye','world'];
console.log(arr.reverse()); //world,bye,hello
9.slice(start,end)方法 从start处到end处(不包括下标为end的元素)进行截取,并返回新的数组,对原数组不改变。此方法中参数允许为负数,其中-1 代表最后一个元素,-2代表倒是第二个 以此类推,
实质上是:截取的元素下标=所设置的负数+数组的长度;此方法中第一个参数是必须的,第二个参数是可选的,如果不设置第二个参数,则从start处一直截取到数组末尾。
eg:var arr=['hello','bye','world','good'];
arr.slice(1,3); //bye,world
arr.slice(-1,-3); //空字符串 因为实质上是arr.slice(3,1); 所以返回空字符串
arr.slice(-3,-1); //bye,world
10.splice() 方法 与slice(start,end)方法相似,但更强大。
语法:splice(startIndex,length,items1,items2,.........)
在指定下标出截取一定长度的数组,再插入新的数组元素(在截取数组元素的位置,截取长度与插入新元素的个数并没关系),并将截取的数组元素组成新的数组返回。改变原数组。
其中前两个参数是必须的,其他参数是可选的。
eg:var arr=['hello','bye','world','good'];
//1). arr.splice(0,2); //['hello','bye']
// console.log(arr); //['world','good']
2)arr.splice(0,2,'yes','none'); //['hello','bye']
console.log(arr); //['yes','none','world','good']