操作数组的方法
Posted zhaodz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作数组的方法相关的知识,希望对你有一定的参考价值。
数组的方法
1.join(分隔符) 将数组的值拼接成一个字符串
var arr=[15,89,65,69] console.log(arr.join(‘-‘)) //15-89-65-69
var arr=[15,89,65,69] console.log(arr.join(‘‘)) //15896569
var arr=[15,89,65,69] console.log(arr.join(‘ ‘)) //15 89 65 69
2.数组的增删操作
(1)push()后面添加一个或多个
var arr=[‘张三‘,‘李四‘,‘王五‘] arr.push(‘田七‘) console.log(arr) //["张三", "李四", "王五", "田七"]
(2)pop()后面删除一个
var arr=[‘张三‘,‘李四‘,‘王五‘] arr.pop() console.log(arr) //["张三", "李四"]
(3)unshift() 前面增加一个或者多个
var arr=[‘张三‘,‘李四‘,‘王五‘] arr.unshift(‘赵六‘) console.log(arr) //["赵六", "张三", "李四", "王五"]
(4)shift() 前面删除一个
var arr=[‘张三‘,‘李四‘,‘王五‘] arr.shift() console.log(arr) //["李四", "王五"]
3.数组的翻转与排序
(1)reverse() 翻转
var arr=[1,2,3,4,5,6] arr.reverse() console.log(arr) //[6, 5, 4, 3, 2, 1]
(2) sort() 排序,默认比较字符
var arr=[‘f‘,‘d‘,‘a‘,‘e‘,‘c‘,‘b‘] arr.sort() console.log(arr) // ["a", "b", "c", "d", "e", "f"]
sort(function(a,b){a-b}) 数字排序 升序
var arr=[23,98,54,36,26,65] arr.sort(function(a,b){ return a-b }) console.log(arr) //[23, 26, 36, 54, 65, 98]
sort(function(a,b){b-a}) 数字排序 降序
var arr=[23,98,54,36,26,65] arr.sort(function(a,b){ return b-a }) console.log(arr) //[98, 65, 54, 36, 26, 23]
4.数组的拼接与截取
(1)arr1.concat(arr2) 两个数字拼接
var arr1=[2,7,8] var arr2=[58,96] var arr3=arr1.concat(arr2) console.log(arr3) //[2, 7, 8, 58, 96]
(2)slice(start,end)截取出来 包括start 不包括end
var arr=[2,7,28,18,15] var arr1=arr.slice(1,3) console.log(arr1) //[7, 28]
slice(start)截取出来
var arr=[2,7,28,18,15] var arr1=arr.slice(1) console.log(arr1) //[7, 28, 18, 15]
(3)splice()删除或添加
splice(start,deleteCount) deleteCount删除的个数
var arr=[2,7,28,18,15] var arr1=arr.splice(2,2) console.log(arr) //[2, 7, 15]
splice(start,deleteCount,item) item是添加的元素
var arr=[2,7,28,18,15] var arr1=arr.splice(2,1,110) console.log(arr) //[2, 7, 110, 18, 15]
var arr=[2,7,28,18,15] var arr1=arr.splice(2,0,110) console.log(arr) //[2, 7, 110, 28, 18, 15]
5.数组查找元素
(1)indexOf()元素第一次出现的位置
var arr=[2,7,28,18,15] console.log(arr.indexOf(18)) //3
(2)lastIndexOf()元素最后一次出现的位置
var arr=[2,7,28,18,15,18,5,7,18,2] console.log(arr.lastIndexOf(18)) //8
6.清空数组
(1)arr.splice(0,arr.length)
var arr=[2,7,28,18,15,18,5,7,18,2] arr.splice(0,arr.length) console.log(arr) //[]
(2)arr.length=0
var arr=[2,7,28,18,15,18,5,7,18,2] arr.length=0 console.log(arr) //[]
(3)arr=[ ]
var arr=[2,7,28,18,15,18,5,7,18,2] arr=[] console.log(arr) //[]
7.数组的去重
(1)获取数组中每个元素出现的次数
var arr=[‘a‘,‘c‘,‘d‘,‘a‘,‘c‘,‘b‘,‘d‘,‘b‘,‘b‘,‘d‘,‘c‘,‘b‘] var obj={} for(var i=0;i<arr.length;i++){ if(arr[i] in obj){ obj[arr[i]]+=1 } else{ obj[arr[i]]=1 } } console.log(obj) //{a: 2, c: 3, d: 3, b: 4}
(2)遍历对象 拿到对象里的属性
var arr=[‘a‘,‘c‘,‘d‘,‘a‘,‘c‘,‘b‘,‘d‘,‘b‘,‘b‘,‘d‘,‘c‘,‘b‘] var obj={} for(var i=0;i<arr.length;i++){ if(arr[i] in obj){ obj[arr[i]]+=1 } else{ obj[arr[i]]=1 } } console.log(obj) //{a: 2, c: 3, d: 3, b: 4} var newArr=[] for(var key in obj){ newArr.push(key) } console.log(newArr) // ["a", "c", "d", "b"]
以上是关于操作数组的方法的主要内容,如果未能解决你的问题,请参考以下文章