1.Object类型
创建object
var person=new Object(); person.name="猪猪"
var person={ name:"猪猪" }; 对象创建属性或者方法 推荐使用
读取对象的属性
- 通过点的方式 person.name
- 通过方括号 person[name]
2.Array类型
创建Array(可以保存任何类型的数据)
var arr=new Array(5)
创建长度是5的数组var arr=[]
读取数组值
- 通过方括号下标的方式读取 arr[0]
设置数组的值
- 通过方括号下标的方式 arr[0]=“block”
检测数组
- arr instanceof Array
- Arrar.isArray(arr)// 通过Array对象的isArray()方法
转换方法
- 所有对象都有toString() toLocalString() valueOf()
var color=["red","blue","yellow"]
color.toString() red,blue,yellow
color.toLocalString() red,blue,yellow
color.valueOf() ["red","blue","yellow"]
- 将数组转化为字符串
color.join(" ,") red,blue,yellow
color.join("||") red||blue||yellow
栈方法(先进后出)
- push() 进栈 给数组后面追加数据
- pop()出栈 删除数组的数据
队列方法(先进先出)
- unshift() 进入队列 从数组的前面进
- shift()出队 从数组的前面出
重排序方法
- 数组的翻转reverse()
color.reverse() ["yellow","blue","red"]
- 数组的排序sort() 根据字符串的位置进行比较
一般接受一个比较函数作为参数
function compare(value1,value2)
{
if(value1<value2)
{
return -1 // 第一个位于第二个之前 返回-1
}
else if(value1>value2)
{
return 1
}
else{
return 0
}
}
var arr=[8,5,5,9,6,2,18,10]
arr.sort(compare) //2 5 5 6 8 9 10 18
操作方法
- 数组的连接 concat()
var color=["red","yellow","blue"]
color.concat("red",[1,3,5]) [ "red","yellow","blue","red",1,3,5]
color ["red","yellow","blue"]
-
数组截取 slice() 不影响原数组
slice(起始位置) 起始到末尾
slice(起始位置,结束位置) 不包括结束位置 -
数组截取splice() 影响原数组
删除数组 splice(起始位置,项数)
增加数组 splice( 起始位置,0,增加数据)
替换数据 splice(起始位置,1,替换数据)
位置方法
-
indexOf(数据) 返回位置 从前面开始查找
indexOf(数据,从哪个位置开始) -
lastindeOf(数据) 返回位置 从后面开始查找
lastIndexOf(数据,从哪个位置开始)
迭代方法
- every() 数组中的每一项都运行该函数,每一项返回true,结果返回true
var number=[1,5,8,52,4,22];
number.every(function(item,index,array){
return (item>2)
}) false
- some() 数组中的每一项都运行该函数,任意一项返回true,结果返回true
var number=[1,5,8,52,4,22];
number.some(function(item,index,array){
return (item>2)
}) true
- filter()数组中的每一项都运行该函数,结果返回为true的数组
var number=[1,5,8,52,4,22];
number.filter(function(item,index,array){
return (item>2)
})
[5,8,52,4,22]
- map()数组中的每一项都运行该函数,结果返回调用的结果组成的数组
var number=[1,5,8,52,4,22];
number.map(function(item,index,array){
return (item*2)
})
[10,16,104,8,44]
- forEach()数组中的每一项都运行该函数,这个方法没有返回值
var number=[1,5,8,52,4,22];
number.forEach(function(item,index,array){
执行某些操作
})