js数组扁平化方法
Array.join()方法是将数组扁平话的方法但是有个缺点是这个只能把一维数组扁平化,
[1,12,[3,4,[5],6],7].join()
//结果是1,12,3,4,5,6,7,
//这样给他扁平化是看不到结果的如果是加一个Array.join("-")这个样就看到区别这个没有办法解析到第二层数组了就
//但是使用Array.prototype.toString.call([1,12,[3,4,[5],6],7]);方法就可以解析到最里层的数组
//结果1,12,3,4,5,6,7,
Array.prototype.toString.call(new Array())此方法是将一个数组扁平化的常用方法重点在于toString()方法
js字符串转数组方法
Array.slice()方法这个方法可以和join()方法看作是一对,用法是
"123456".slice()//结果["123456"]
"123456".slice(",")//结果["1","2","3","4","5","6"]
//Array.prototype.slice.call("123456")
还有很多Array的操作方法 push() , pop(),unshift(),shift()
push()方法向数组末尾添加一个数组并返回数组的长度
let a=new Array()
a.push(5)
//返回1
pop()方法删除数组末尾的一个元素并返回被删除的元素
let a = [1,2,3,4,5,6]
a.pop()
//结果返回的是6
//注意的是这个不用写要删除的元素下标默认删除的是数组的最后的一个元素
unshift()方法是向数组的开头添加一个或更多元素,并返回新的长度。
let a = [1,2,3,4,5,6]
a.unshift(6)
//结果7数组变为[6,1,2,3,4,5,6]
shift()方法是删除并返回数组的第一个元素。
let a = [1,2,3,4,5,6]
a.shift()
//结果返回1
这样的删除数组元素添加数组元素也可用一个方法替代splice()
添加元素
Array.splice(position,0,data)
//第一个参数是要插入的位置
//第二个参数是很重要的要添加数据是第二个参数必须是0,
//第三个参数就是你要添加的数据
删除元素
Array.splice(position,deleteposition,)
//第一个参数是要删除的起始位置
//第二个参数是要删除的元素个数
//这个方法是返回的一个新的数组
//Array.slice()方法就也可以当删除方法使用但是这个方法是截取了元素组
数组的排序,倒叙,乱序的方法
- sort()
- reverse()
- 使用Math().random()方法配合sort()进行倒叙
排序
let a = new Array(9,2,7,4,5,6)
a.sort()
//结果[2,4,5,6,7,9]
倒叙
a.reverse()
//结果[9,7,6,5,4,2]
乱序
function shuffle(array) {
return array.sort(function(){
return Math.random() - 0.5;
});
}
数组的链接方法
Array.prototype.concat(data,data)
//但是有个弊端就是这个个方法不能链接多维数组不能把多维数组扁平化处理
//ES6后新增了一个方法就是...运算符
[...data,...data]
//可以将数组展开
//这个也是不能把多维数组全部展开就是操作上要比concat()方法好记
let data = [1,2,[3,[4]],5]
[...data,...data]
//结果 [1, 2, Array(2), 5, 1, 2, Array(2), 5]0: 11: 22: (2) [3, Array(1)]0: 31: [4]0: 4length: 1__proto__: Array(0)length: 2__proto__: Array(0)3: 54: 15: 26: (2) [3, Array(1)]0: 31: [4]length: 2__proto__: Array(0)7: 5length: 8__proto__: Array(0)