js,jquery中for循环用法
1、js,jquery for循环第一种方法:
var arr=['baidu','baiduyun','baidujingyan','baidushiping']
for (i in arr){
console.log(arr[i]);
} #遍历arr数组的索引,将arr的元素取出
输出结果:
baidu
baiduyun
baidujingyan
baidushiping

2、js,jquery for循环第二种方法:
var arr=['baidu','baiduyun','baidujingyan','baidushiping'];
undefined
arr.forEach(
function(a,i)
{console.log(a)
})#使用forEach()方法遍历arr数组
输出结果:
baidu
baiduyun
baidujingyan
baidushiping

3、js,jquery for循环第二种方法:
var arr=['baidu','baiduyun','baidujingyan','baidushiping'];
arr.map(function(val,index,arrnow){console.log(val,index,arrnow)})
#以上方法map中的function实际有三个参数
currentValue -> 数组中遍历到的元素
index -> 数组中遍历到的元素的索引
array -> map方法被调用的数组,也就是arr本身
以上输出结果:
baidu 0 (4) ["baidu", "baiduyun", "baidujingyan", "baidushiping"]
baiduyun 1 (4) ["baidu", "baiduyun", "baidujingyan", "baidushiping"]
baidujingyan 2 (4) ["baidu", "baiduyun", "baidujingyan", "baidushiping"]
baidushiping 3 (4) ["baidu", "baiduyun", "baidujingyan", "baidushiping"]

4、以上介绍了常用的三种js,jquery遍历数组的方法,那么如果遍历对象呢
var obj={'baidu':'百度','baiduyun':'百度云','baidujingyan':'百度经验','baidushiping':'百度视频'};
for (keys in obj){console.log(keys+':',obj[keys])}
baidu: 百度
baiduyun: 百度云
baidujingyan: 百度经验
baidushiping: 百度视频
这时候forEach和map方法就不可以使用了,如果使用则会报错:
Uncaught TypeError: obj.forEach is not a function at <anonymous>:1:5

5、当然如果是数组对象的话,那是可以使用以上三种方法遍历的
例如 使用forEach遍历
var obj={'baidu':'百度','baiduyun':'百度云','baidujingyan':'百度经验','baidushiping':'百度视频'};
undefined
var obj2={'baidu':'百度','baiduyun':'百度云'};
undefined
var arr=[];
undefined
arr.push(obj)
arr.push(obj2)
arr
(2) [{…}, {…}]0: {baidu: "百度", baiduyun: "百度云", baidujingyan: "百度经验", baidushiping: "百度视频"}1: {baidu: "百度", baiduyun: "百度云"}length: 2__proto__: Array(0)
arr.forEach(function(val,index){console.log(val)})
VM12317:1 {baidu: "百度", baiduyun: "百度云", baidujingyan: "百度经验", baidushiping: "百度视频"}
VM12317:1 {baidu: "百度", baiduyun: "百度云"
当然map也可以:
arr.map(function(val,index){console.log(val)})
VM12361:1 {baidu: "百度", baiduyun: "百度云", baidujingyan: "百度经验", baidushiping: "百度视频"}
VM12361:1 {baidu: "百度", baiduyun: "百度云"}

