2、构造函数创建数组
1、 instanceof 变量/值 instanceof Array
2、 Array.isArray(变量/值)
返回是true就是数组,返回是false是非数组
总是在表头(队头)操作 先进先出
删除元素:shift() 出队
添加元素:unshift() 插队
翻转数组:reverse()返回一个新数组,改变原数组
1、concat() :如果参数是数组,就是连接两个数组。如果参数是非数组,就是给数组添加元素。都会返回一个新数组
2、slice(start,end):截取数组。start和end都是数组的索引,从start开始截取到end结束,包含start不包含end,返回一个新数组,不会改变原来的数组。如果只有一个参数start,就是从start截取直到结束。
3.splice(start,length):截取数组。start是数组的索引,length是要截取的长度,从start开始截取length个元素,返回一个新数组,会改变原来的数组。如果只有一个参数start,就是从start截取直到结束。
1、indexOf() 获取对应元素的索引值,如果有相同的元素,从前往后数第一个元素,如果没有返回-1
2、lastIndexOf() 获取对应元素的索引值,如果有相同的元素,从后往前数第一个元素,如果没有返回-1
都是遍历数组,参数都是一个回调函数,回调函数中的第一个参数是value元素,第二个参数是索引index
1、forEach():遍历数组===for循环遍历
2、some():返回值是布尔类型,如果有一个元素满足条件就返回true,都不满足条件返回false
3、every():返回值是布尔类型,必须所有的元素都满足条件就返回true,只要有一个不满足条件返回false
4、map():返回一个数组,一般用于数学计算
5、filter():返回一个数组,过滤满足条件的元素或者索引
//一、
console.log(Array)
var arr = new Array(20, 'web', true)
console.log(arr)//[20, 'web', true]
console.log(typeof arr) //object
var arrNum = [10, 20, 30, 40, 50, 60]
//二、
var num = 1,
str = 'a',
bool = false,
fn = function () {},
obj = {},
arr_1 = []
console.log(num instanceof Array) //false
console.log(str instanceof Array) //false
console.log(bool instanceof Array) //false
console.log(fn instanceof Array) //false
console.log(obj instanceof Array) //false
console.log(arr instanceof Array) //true
console.log(arr_1 instanceof Array) //true
console.log(
Array.isArray(num),
Array.isArray(str),
Array.isArray(bool),
Array.isArray(fn),
Array.isArray(obj),
Array.isArray(arr)
)
//三、
arr.shift()
console.log(arr)//['web', true]
arr.shift()
console.log(arr)//[true]
arr.unshift('小明')
console.log(arr)//['小明',true]
arr.unshift('小花')
console.log(arr)//['小花','小明',true]
arr.shift()
console.log(arr)//['小明',true]
//四、
var arrNum = [10, 20, 30, 40, 50, 60]
var arrNumNew = arrNum.reverse()
console.log(arrNumNew)//[60, 50, 40, 30, 20,10]
console.log(arrNum)//[60, 50, 40, 30, 20,10]
//五、1、
var new1 = arrNum.concat(['a', 'b', 'c'])
console.log(new1)//[60, 50, 40, 30, 20,10,'a', 'b', 'c']
var new2 = arrNum.concat('Java')
console.log(new2)//['a', 'b', 'c','Java']
//五、2、
var arrNum = [10, 20, 30, 40, 50, 60]
var new3 = arrNum.slice(1, 4)
console.log(new3) //[20,30,40]
console.log(arrNum) //[10, 20, 30, 40, 50, 60]
console.log(arrNum.slice(2)) //[30, 40, 50, 60]
//五、3、
var arrNum = [10, 20, 30, 40, 50, 60]
var new4 = arrNum.splice(2, 2)
console.log(new4) // [30, 40]
console.log(arrNum) // [10, 20, 50, 60]
console.log(arrNum.splice(3))//[60]
//六、
var arr = new Array(10, 50, 20, 30, 40, 50, 60, 70)
console.log(arr.indexOf(10)) //0
console.log(arr.indexOf(30)) //3
console.log(arr.indexOf(50)) //1
console.log(arr.indexOf('sdsd')) //-1
console.log(arr.lastIndexOf(10)) //0
console.log(arr.lastIndexOf(30)) //3
console.log(arr.lastIndexOf(50)) //5
console.log(arr.lastIndexOf('sdsd')) //-1
//七、
var arr = new Array(10, 20, 30, 40, 50, 60, 70)
// 1、
arr.forEach(function (value, index) {
console.log(index + '====>' + value) //0====>10 1====>20......5====>60 6====>70
})
// 2、
var flag1 = arr.some(function (value, index) {
return value > 70
})
console.log(flag1)//false
// 3、
var flag2 = arr.every(function (value, index) {
return value > 0
})
console.log(flag2) //true
// 4、
var arrNew = arr.map(function (value, index) {
return Math.pow(value, 2)
})
console.log(arrNew)//[100,400,900,1600,2500,3600,4900]
// 5、
var arrNew = arr.filter(function (value, index) {
return value >= 50
})
console.log(arrNew);//[50,60,70]