改变原数组
push pop shift unshift sort reverse splice
- push 在数组最后一位添加数据
var arr = [1, 2, 3, 5]; Array.prototype.push = function () { for (var i = 0; i < arguments.length; i++) { arr[arr.length] = arguments[i]; } }
上面是自己实现的一个push方法
- pop 剪切最后一位
//pop 剪切最后一位 var arr = [1, 2, 3, 5]; arr.pop();//[1,2,3]
- shift 减去第一位
var arr = [1, 2, 3, 5]; arr.shift();//[2, 3, 5]
- unshift 在第一位添加数据
var arr = [1, 2, 3, 5]; arr.unshift(6);//[6,1,2,3,5]
- sort 排序数组
//sort //排序原数组 //可以自定义排序方式 //1.必须写两个形参 //2.看返回值 返回值负数,那么前面的数在后面 //正数,后面数在前面 //为0,不动 var arr = [1, 2, 3, 5, 9, 20, 4, 7, 4]; arr.sort(function (a, b) { return Math.random() - 0.5; });
系统提供自定义排序的支持,我们可以按照自己的需求定制排序的实现
- reverse 反转元素
var arr= [1,2,3,5]; arr.reverse();//[5,3,2,1]
- splice splice(从第一位开始,截取多少的长度,在切口处添加新的数据)
//arr.splice(3,0,4),可以传负数,以下是负数的实现 /splice = function (pos) {
// pos += pos > 0 ? 0 : this.length; //}
不改变原数组
concat join split toString,slice
- concat 连接2个数组
var arr=[1,2,3]; var arr1=[4,5,6]; var newarr = arr.concat(arr1);//[1,2,3,4,5,6]
- join
var str="h"; var str1='e'; var str2="l"; var str3='l'; var str4='o'; var arr=[str,str1,str2,str3,str4]; var newarr = arr.join('')//默认为,传个空字符 hello //拼接字符串这中效率较高
- split 字符串的方法,按照一定规则分割成数组
//字符串方法split 分割成数组 var arr = ['h', 'e', 'l', 'l', 'o']; var str = arr.join('-'); var newarr = str.split('-');//["h", "e", "l", "l", "o"]
- toString
var arr=[1,2,3]; var newarr = arr.toString();//"1,2,3"
- splice slice(从该位开始,截取到该位)第二个参数为空 截取到最后
var arr = [1,2,3]; var newarr = arr.slice(1,3);// 2 var newarr1 = arr.splice(0);//[1,2,3]