数组声明
使用对象方式声明数组
let arr = new Array('1','数组')
使用字面量声明数组
let arr = ['1','数组']
Array.of声明数组,不会创建空的数组元素
- Array.from可以将类数组转换成数组,类数组指可以含有length属性的可迭代对象
//第一个参数是需要转换的对象,第二个参数是回调函数,处理数组中的值
let str = '后盾人';
console.log(Array.from(str)); //["后", "盾", "人"]
//为对象设置length属性后也可以转换为数组,但要下标为数值或数值字符串
let user = {
0: '后盾人',
'1': 18,
length: 2
};
console.log(Array.from(user)); //["后盾人", 18]
数组方法
改变数组
push()
向数组末尾压入元素,直接改变数组,返回值是数组元素数量unshift()
从数组前面压入元素,返回值是数组元素个数pop()
从数组末尾弹出元素,返回值是弹出的元素shift()
从数组前面取出元素fill()
向数组指定位置填充元素,第一个参数指的是需要添加的元素,第二和第三参数指的是填充位置slice()
该方法截取数组部分元素,第一个参数为截取位置,如果不传第二个参数的话,就截取到末尾splice()
该方法可以执行删除、添加、修改数组,会对原数组产生改变,返回值为删除的元素。第一个参数为删除的位置,第二个参数为删除的数量,以后的参数为在删除位置替换的元素join()
将数组元素连接成字符串输出split()
将字符串分解为数组,以特定格式concat()
将数组连接,如果元素是值类型的话则是复制操作,如果是引用类型的还是指向同一对象查找数组
indexOf
从前往后查找出现的第一个元素,如果查找不到返回-1,如果找到则返回出现的位置,第二参数是开始查找的位置lastIndexOf
和indexOf相反的查找方向includes
返回布尔值,没办法查找引用类型的,因为地址不相等find
可以将查找的值返回出来,参数是回调函数
原理:let arr1=[{name:"lisa"}]
function newFind(array,callback){
for(const value of array){
if(callback(value)) return value
}
return undefined
}
console.log(newFind(arr1,item => item.name === "jack"))