js数组常用方法(1)
- ES3 使用instanceof
if (value instanceof Array){
//对数组执行某些处理
}
instanceof作为一个语法糖,判断主要依据当前的全局执行环境,如果存在iframe标签下,当前页面存在两个不同的全局执行环境,那么在跨全局执行环境下进行判断则会失效。可以使用Object.prototype.toString.call(value) == "[object Array]";判断;
- ES5 使用 Array.isArray()
if (Array.isArray(value)){
//对数组执行某些处理
}
Array.isArray(),对浏览器版本有所要求,综合考虑还是使用Object.prototype.toString.call(),有保障一些。
数组装换成字符串- toString(),以逗号分隔。
- valueOf(),以逗号分隔。
- join('|'),以传入指定分隔符进行分隔,若什么也不传,或者undefined,则默认以逗号分隔。IE7及更早版本以字符串"undefined"分隔。
- Array.push("A","B"),向数组末位最佳两个元素,且返回数组长度。
- Array.pop(),删除数组最后一项,切返回被删除的一项。
- Array.unshift('A'),向Array的前端新增A元素,且返回数组的长度。
- Array.shift(),删除Array的第一项,且返回数组长度。 重排序方法
- reverse(),反转数组的顺序。
- sort(),升序排列数组,但是在执行的时候会先把比较的执行一次toString(),然后比较得到的字符串,得到的结果往往不是我们想要的
arr.sort(function(a,b){
return a-b;//升序
})
操作方法
- concat()方法可以基于当前数组中所有创建一个新数组,会给当前数组创建一个副本,返回合并后的数组,当前数组并不会发生变化。
-
slice(),接收一个或两个参数,1)传入一个参数时,返回从当前下标到数组最后一个元素,2)两个参数,返回起始和结束位置之间的项,但不包括结束位置,从0下标开始。本方法不会影响原始数组
var colors = ['red','green','blue','yellow']
var colors1 = colors.slice(1); //green,blue,yellow
var colors2 = colors.slice(1,3); //green,blue - splice()最强大的数组方法,删除,插入,替换。
splice(0,2),删除数组中下标为0和1的值。
splice(2,0,"red","green"),从当前的数组位置2开始,删除0个,并新增"red","green"
splice(2,1,"red","green"),替换,会删除当前数组位置2的项,然后从位置2开始插入字符串"red","green";
共同学习,写下你的评论
评论加载中...
作者其他优质文章