参考链接
js数组遍历和对象遍历
JS创建数组的三种方法
数组的常用创建方式
//方式1 隐式创建数组var arr1 = ["value1","value2","value3"];//方式2 直接实例化var arr2=new Array("value1","value2","value3");//方式3 创建数组并给数组元素赋值var arr3=new Array();arr[0]="value1";arr[1]="value2";arr[2]="value3";//方式4 规定长度(一般用)var arr4=new Array(2);//规定了数组的长度arr[0]="value1";arr[1]="value2;
数组的遍历
var arr = ["value1","value2","value3"];//1.普通for循环for ( var i = 0; i <arr .length; i++){console.log(arr[i]);}//2.缓存长度,进行优化,避免重复获取长度,数组很大时优化效果明显for ( var i = 0;len = arr.length; i <len; i++){console.log(arr[i]);}//3.for-of遍历 是ES6新增功能for( let i of arr){console.log(i);}
for-of这个方法避开了for-in循环的所有缺陷
与forEach()不同的是,它可以正确响应break、continue和return语句
for-of循环不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象。
for-of循环也支持字符串遍历
举例(layUI中批量操作如:删除、更新等)
//获取选中树的ID传参//获取选中的树var params = dtree.getCheckbarNodesParam("userRoleTree");//创建新的数组接收数的IDvar nodeIdStr = new Array();for(var i=0;i<params.length;i++){//遍历给新数组赋值nodeIdStr[i] =params[i].nodeId;}$.post(projectName+"/user/updateUserRole",{"nodeIdStr":nodeIdStr.join(",")},//数组转化为字符串 逗号隔开(传参到后台)function(obj){//操作},"json")
JS对象遍历:
for-in遍历
for-in是为遍历对象而设计的,不适用于遍历数组。
遍历数组的缺点:数组的下标index值是数字,for-in遍历的index值"0",“1”,"2"等是字符串
for (var index in arr){console.log(arr[index]);console.log(index);
}