JavaScript操纵数组的方法,简单明了

toString() 数组转成字符串

[1,2,3].toString();//‘1,2,3’
[‘a’,‘b’,‘c’].toString();//‘a,b,c’
[1,[2,‘c’]].toString();//‘1,2,c’

join() 数组转成字符串,可以自行添加分隔符

[1,2,3,4].join() //“1,2,3,4”
[1,2,3,4].join(’-’) //“1-2-3-4”
[1,2,3,4].join(’’) //“1234”
[1,2,3,4].join(’++’) //“1++2++3++4”

push() 在数组的末尾添加任意元素

var demo = [1,2,3,4]
demo.push(66) //[1, 2, 3, 4, 66]
demo.push(‘a’,‘b’) //[1, 2, 3, 4,‘a’,‘b’ ]

pop() 移出数组的最后一项

var demo = [1,2,3,4]
demo.pop() // [4]
demo // [1,2,3]

shift() 移出数组的第一项

var demo = [1,2,3,4]
demo.shift() // [1]
demo // [2,3,4]

unshift() 在数组最前面添加任意值

var demo = [1,2,3,4]
demo.unshift(7,8) // 返回长度6
demo // [7,8,2,3,4]

reverse() 颠倒数组的顺序

var demo = [1,2,3,4]
demo.reverse() // [4,3,2,1]

sort() 按照字符串升序进行排序

var demo = [7,1,2,4,8,9]
demo.sort() // [1,2,4,7,8,9]
var demo = [‘3str’,3,2,‘2’]
demo.sort() // [2, “2”, 3, “3str”]
var demo = [1,5,10,50]
demo.sort() // [1, 10, 5, 50]
个人感觉适合用于按首字母进行排序的数组

filter() 筛选数组,将满足条件的项生成一个新的数组

var demo = [1,2,3,4,5,6]
demo.filter(function(item){return item > 3}) // [4, 5, 6]
箭头函数写法↓↓↓
demo.filter(item => item > 3) // [4, 5, 6]

concat() 数组合并

var demo = [1,2,3]
demo.concat([7,8],[11,22]) // [1, 2, 3, 7, 8, 11, 22]

slice(start,end) 截取一个从索引start到end的一个新的数组

var demo = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’]
demo.slice(4,6) // [“e”, “f”]
demo.slice(4) // [“e”, “f”, “g”, “h”]
demo.slice(-1) // [“h”]
demo.slice(-5) // [“d”, “e”, “f”, “g”, “h”]

splice() 从数组中删除成员,也可以在删除位置添加项

var demo = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’]
demo.splice() // []
demo.splice(4) // [“e”, “f”, “g”, “h”]
demo.splice(2,1) // [“c”] 从第2项开始删除,删除一项
demo.splice(3,3) // [“d”, “e”, “f”] 原理同上
demo.splice(2,0,‘p’,‘q’) // [“a”, “b”, “p”, “q”, “c”, “d”, “e”, “f”, “g”, “h”] 从第2项开始删除,删除0项,添加p,q

indexOf() 从数组中获取某元素的位置

var demo = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘a’,‘h’]
demo.indexOf(‘c’) // 2
demo.indexOf(‘z’) // -1 数组中不存在该元素时会返回-1
demo.indexOf(‘a’,1) // 7

find() 从数组中获取满足条件的第一个值

var demo = [1,2,3,4,5,6]
demo.find(function(item){return item>3}) // 4
var demo = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘a’,‘h’]
demo.find(item => item === ‘b’) // '‘b’

Array.isArray() 判断是不是数组,返回布尔值

var demo = [1,2,3,4,5,6]
Array.isArray(demo ) // true
var demo = ‘字符串’
Array.isArray(demo ) // fasle

map() 对数组的每一项进行操作,并返回组成新组成的数组

var demo = [1,2,3]
demo.map(item => {return item * item}) // [1, 4, 9]
demo.map((item,index) => {return item * index}) // [0, 2, 6]

forEach() 遍历整个数组,若有返回值用map比较好一点

var demo = [1,2,3]
demo.forEach(item =>{console.log(item)}) // 1 2 3

some() 只要其中一项满足条件就返回true

var demo = [7,8,9]
demo.some(item => item > 8) // true
demo.some(item => item > 9) // false

every() 必须全部满足条件才返回true

var demo = [7,8,9]
demo.some(item => item > 6) // true
demo.some(item => item > 8) // false

Array.fill()使用指定元素填充数组

arr.fill(value, start, end)

value:填充值。

start:填充起始位置,可以省略。

end:填充结束位置,可以省略,实际结束位置是end-1。

var obj1 = 88
Array(10).fill(obj1)
//[88, 88, 88, 88, 88, 88, 88, 88, 88, 88]
var demo = [1,2,3,4,5,6,7,8,9]
demo.fill(7, 2, 5)
// [1, 2, 7, 7, 7, 6, 7, 8, 9]
demo.fill(7, 6)
//[1, 2, 3, 4, 5, 6, 7, 7, 7]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值