JS数组

2021-02-27  本文已影响0人  Marshall3572

JS中其实没有真正的数组,JS的数组是用对象模拟的。
重点理解splicereduce

如果一个数字的原型链中没有那些数组所共有的属性(push,pop等),那么它就是伪数组
新建
let arr = [1,2,3]
let arr = new Array(1,2,3)
let arr = new Array(3)
转化
let arr = '1,2,3'.split(',')
let arr = '123'.split('')
Array.from('123')

合并两个数组,得到新数组
arr1.concat(arr2)
截取一个数组的一部分
slice
arr1.slice(1) //截取从第二个元素到最后一个
arr1.slice(0) //全部截取
注意,JS只提供浅拷贝

删除数组元素

以上两种删除数组元素的方法都不推荐,使用下边三种。


遍历数组


forEach函数
function forEach(array,fn){
    for(let i = 0; i < array.length ;i++){
        fn(array[i],i,array)
}
}

查找某个元素是否在数组里
arr.indexOf(item) //若存在返回索引号,不存在返回-1
使用条件查找元素
arr.find(item=>item%2 === 0) //找第一个偶数
使用条件查找元素的索引
arr.findIndex(item=>item%2 === 0) //找第一个偶数的索引

增加数组中的元素

在头部添加元素
arr.unshift(item) //修改arr,返回新长度
arr.unshift(item1,item2) //修改arr,返回新长度
在尾部添加元素
arr.push(item)
arr.push(item1,item2)
在中间添加元素
arr.splice(index,0,'x')
arr.splice(index,0,'x','y')

修改数组中的元素

var s = 'abcde'
s.split('')
s.split('').reverse()
s.split('').reverse().join('')

数组变换

arr.map(item => item*item)
arr.filter(item => item%2 === 0 ? true : false)
arr.reduce((sum,item)=> {return sum+item},0)
上一篇 下一篇

猜你喜欢

热点阅读