数组是复杂数据类型
Es3数组常用方法:
-
push:在数组末尾追加一个元素
-
pop:删除数组末尾的一个元素
-
unshift:在数组最前面添加一个元素
-
shift:删除数组最前面一个元素
-
splice:
1截取数组中的某些内容,按照索引来截取
2语法:splice (从哪一个索引开始,截取多少个,替换新的元素) 第三个参数可以不写 -
reverse:反转数组
-
sort:数组排序
-
concat:多个数组进行拼接
不会改变原始数组,返回一个新数组 -
join:把数组的每一项链接起来,变成一个字符串
不改变原始数组,返回一个链接好的字符串
for 和for in
- 根据数组的索引可以获取数组的内容
- 数组的索引是按照0~n 顺序排列
- for 循环来循环数组,
1 var arr= [1,2,3,4]
2使用for循环遍历数组
for(var i=0;i<arr.length;i++){
cobsole.log(arr[ i ])
} - i<arr.length:根据数组长度,决定循环次数
对象没有索引,使用for in 来遍历对象
- var obj={
age:20,
name:Tome,
}
for( var key in obj){
console.log(key)
}
控制台会分别打印两次内容,age 和name - for in 遍历是按照对象有多少成员决定
- key是自定义的一个变量,和for循环定义的i一个道理
- 每次循环,key是对象中某一个成员的属性名
Es5数组常用方法:
- indexOf:
1 用来找到数组’中某一项的索引
2语法: indexOf(你要找到数组中的项)
3要找的内容数组中没有,就会返回 -1
forEach
- 和for 循环一样,都是遍历数组
- 语法:arr.forEach(function(item,index,arr){
item:数组中的某一项
index:数组的索引
arr:原始数组
}) - forEach()传递的那个函数,会根据数组的长度执行
- 数组长度为多少,就会执行多少
map
- 和forEach类似,按照条件筛选数组
- 把原始数组满足条件的筛选出来,组成一个新的数组返回
filter
- 和map类似,按照条件筛选数组
- 把原始数组中满足条件的筛选出来,组成一个新的数组返回