内置对象 Array数组对象
Array数组对象
- 字面量
- 构造函数
- 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))
console.log(arr instanceof Array)
console.log(obj instanceof Object)
console.log(Array.isArray(arr))
数组对象的方法
栈操作
console.log(arr.push(6))
console.log(arr.pop())
队列操作
console.log(arr)
console.log(arr.shift())
翻转
arr.reserve()
排序
var arrs = new Array(1, 2, 3, 4, 5,9,8,4,7,22);
arrs.sort();
console.(arrs)
链接数组
var arr1 = [1, 2, 3];
var arr2 = [4, 5, 6];
var arr3 = [7, 8, 9];
var arr4=arr1.concat(arr2,arr3);
console.log(arr4);
截取数组(索引)
console.log(arr4.slice(1))
console.log(arr4.slice(0,3))
console.log(arr.splice(0,3,'hh'))
获取数组某个元素在数组中的位置
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;
}))
console.log(arr.some(function(item){
return item>6
}))
var arrs2=arr.filter(function(item){
return item>6
})
console.log(arr.reduce(function(value,item){
return value+item;
},10))
console.log(arr.join(','))
var arrs=[1,2,3,4]
console.log(arrs.join('0').split(''))