js内置对象 Array数组对象

内置对象 Array数组对象

Array数组对象

  • 字面量
    • var arr=[n1,n2,n3…]
  • 构造函数
  • var arr=new Array[n1,n2,n3…]

判断数据类型的方法

  • typeof() 不能判断数组和对象
  • instanceof 判断对象的类型 格式:变量 instanceof 所判断的类型 若相同则返回true 否则返回false
  • Array.isArray() 专门判断是否为数组非数组返回false
var arro=[1,2,3,4,5,6]
var arr=new Array(1,2,3,4,5,6)
var obj = new Object();
console.log(arr,arro)
//判断方法
console.log(typeof(arr))//object
console.log(arr instanceof Array)//t
console.log(obj instanceof Object)//t
console.log(Array.isArray(arr))

数组对象的方法

栈操作

	//栈操作 push()数组末尾添加元素,pop数组末尾删除元素,最终返回数组修改后的长度length
	console.log(arr.push(6))//尾部添加6 返回数组长度
	console.log(arr.pop())//删除6 返回数组长度

队列操作

//先进先出,unshift()数组头部添加元素,shift()数组头部删除元素,返回数组长度
console.log(arr)
//console.log(arr.unshift(6))
console.log(arr.shift())

翻转

arr.reserve()

排序

//默认按照ASCII码从小到大排序
var arrs = new Array(1, 2, 3, 4, 5,9,8,4,7,22);
arrs.sort();
console.(arrs)

链接数组

//链接数组concat()返回连接后的新数组
	var arr1 = [1, 2, 3];
    var arr2 = [4, 5, 6];
    var arr3 = [7, 8, 9];
    var arr4=arr1.concat(arr2,arr3);
    console.log(arr4);

截取数组(索引)

//截取数组 slice(begin,end)并且返回一个新的数组,包含begin元素但是不包含end元素,如果不传参数,则默认从0到结束
console.log(arr4.slice(1))
console.log(arr4.slice(0,3))


//splice()从指定位置截取元素,并且删除元素和添加元素。splice(位置,删除个数,添加元素)将元素添加到原数组。并且返回删除元素的数组。
console.log(arr.splice(0,3,'hh'))

获取数组某个元素在数组中的位置

//indexof()获取元素在数组中的位置,没有返回-1 获取首次出现的位置,lastIndexOf()获取元素在数组中的位置,没有返回-1 获取最后出现的位置
arr5 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9];
console.log(arr5.indexOf(9));
console.log(arr.lastIndexOf(9))

数组的迭代方法

  • arr. forEach (回调函数(item(数组中的元素),index(元素索引),arr(所遍历的数组)){})遍历数组无返回值
  • arr. map (回调函数(item ,index,arr){})有返回值,可以使用return。返回一个新数组
  • arr. every (回调函数(item){return 判断条件})判断数组中每个元素是否满足条件,全部满足则为true
  • arr.some(回调函数(item){return 判断条件})判断是否有满足的元素,如果有则返回true、
  • arr.filter (函数(items){return}) 筛选满足return里的属性值 返回一个新数组
  • 数组内置对象 var arr=[{obj1},{obj2},{obj3},{obj4}…]
  • 累加器arr. reduce(内置函数(value,items…){return value +/-/*/…}))value为初始值
  • 将数组转化为字符串 arr.join(‘,’) 元素之间用,隔开
var arr=[1,1,2,3,4,5,8,4,5,8]
console.log(arr.forEach(function(item,index,arr){
	console.log(index);
}))
var arrs1=arr.map(function(item,index,arr){
	return index;
})
console.log(arr.every(function(item){
	return item>6; 
}))//false
console.log(arr.some(function(item){
	return item>6
}))//true
var arrs2=arr.filter(function(item){
	return item>6
})//arrs2中元素都大于6
console.log(arr.reduce(function(value,item){
	return value+item;
},10))//求sum,且sum初始值为10
console.log(arr.join(','))
var arrs=[1,2,3,4]
console.log(arrs.join('0').split(''))
//将arrs转化为字符串,之间用0隔开后再转为数组

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值