首页 > 代码库 > 2017/3/29_数组循环遍历出现的问题
2017/3/29_数组循环遍历出现的问题
1. 以下代码实现的功能是:传入arr数组(arr数组中的元素可能有相同的),新建一个arr_new数组,通过for循环遍历arr数组,判断得到不重复的元素,放入 arr_new数组中。
1 //通过传入的数组得到数组中不重复的内容 2 function l_arr(arr:Array) 3 { 4 var arr_new:Array = new Array(); 5 var temp:int = 0; 6 for (var i = 0; i < arr.length-1 ;i++ ){ 7 if(arr[i][0]!=arr[i+1][0]){ 8 9 arr_new[temp] = arr[i][0]; 10 temp++; 11 } 12 } 13 arr_new[temp] = arr[i][0]; 14 return arr_new; 15 }
注意:
如果不小心将以上的代码中的第6行写成 for (var i = 0; i < arr.length ;i++) 将会出现以下错误:TypeError: Error #1010: 术语尚未定义,并且无任何属性。
所以在以后写代码的时候要注意数组遍历时的界限问题。
2. 以下代码的功能是将传进来的arr二维数组,筛选得到除了arr[i][0],剩下的的所有元素。
1 //除了第一列,剩下的内容 2 function f_arr(arr:Array) 3 { 4 var arr_new:Array = new Array(); 5 var arr_temp:Array = new Array(); 6 for (var i = 0; i < arr.length;i++ ){ 7 for (var j = 1; j < arr[0].length; j++ ){ 8 arr_temp[j-1] = arr[i][j]; 9 } 10 arr_new[i] = arr_temp; 11 arr_temp =new Array(); 12 } 13 return arr_new; 14 }
注意:如果只定义一个新的数组,如下。也会出现错误:TypeError: Error #1010: 术语尚未定义,并且无任何属性。
所以以后在对二维数组进行操作时,要注意这个问题。
1 //除了第一列,剩下的内容 2 function f_arr(arr:Array) 3 { 4 var arr_new:Array = new Array(); 5 6 for (var i = 0; i < arr.length;i++ ){ 7 for (var j = 1; j < arr[0].length; j++ ){ 8 arr_new[i][j-1] = arr[i][j]; 9 } 10 11 } 12 return arr_new; 13 }
2017/3/29_数组循环遍历出现的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。