2017/3/29_数组循环遍历出现的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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_数组循环遍历出现的问题的主要内容,如果未能解决你的问题,请参考以下文章