js基础——数组
1,什么是数组
数组是值得有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。js的数组是无类型的,数组元素可以是任意类型,同一个数组中的不同元素可能是对象或数组。数组元素的索引不一定要连续,元素之间可以有空隙,叫做稀疏数组 。每个数组都具有一个lengrh属性。针对非稀疏数组,length属性就是数组元素的个数,针对稀疏数组,元素的length属性比所有元素的索引要大。非稀疏是我们学习掌握的主要知识点。
2,创建数组
1,使用数组直接量创建数组
2,调用构造函数Array()创建数组
a,调用时没有参数
b,调用时有一个数值参数,它指定长度
c,显式指定两个或多个数组元素或者数组的一个非数值元素
3、数组元素的读和写
使用[]操作符来访问数组中的一个元素。数组的引用位于方括号的左边。方括号中是一个返回非负整数值的任意表达式。使用该语法即可以读又可以写数组的元素。
4、数组的长度
1,每个数组都有一个length属性,针对非稀疏数组,length属性值代表数组中元素的个数,其值比数组中最大的索引大一。当数组是稀疏时,length属性值会大于元素个数。数组的长度会大于每一个元素的索引值。
2,设置length属性为一个小于当前数组长度的非负整数n时,当前数组中的那些索引值大于等于n的元素将从数组中删除。同时可以将length属性设置为大于当前长度的值,实际不会像数组中添加元素,它只是在数组尾部创建一个空的区域。
var arr1=[]
console.log(arr1)//[]
arr1[0]=1
arr1[1]=2
console.log(arr1)//[1,2]
arr1[1]=3
console.log(arr1)//[1,3]
var arr2=[1,2,3,4,5,6,7]
arr2.shift()//删除
console.log(arr2,"arr2")
arr2.unshift(0)
console.log(arr2)
arr2.pop()
console.log(arr2)//[]
arr2.push(8)
console.log(arr2)//[]
var arr3=[1,2,3,4,5,6,7]
arr3.splice(2,3,'a','b','c')
console.log(arr3)
console.log(arr3.length)//数组长度
var arr4=new Array(9,10)//1个数字时,就是数组的长度;>1个数字时,就是这个数组的元素
console.log(arr4.length)
var a=1,b=[],c={}
console.log(typeof(a))//number
console.log(Array.isArray(c))//是数组便输出ture;不是数组则输出false
//判断变量c是不是数组,如果是数组,则输出“是数组”三个字
//否则输出‘不是数组’四个字
if (Array.isArray(c))
console.log('是数组')
else
console.log('不是数组')
console.log(Array.isArray(c)?'是数组':"不是数组")//三元运算符
//语法糖
var arr
for (i of arrC){
console.log(i)
}