1.问题描述
编写一个程序,封装一个函数uniq(arr),将数组中的重复的元素去除,并且返回一个新的数组。
事例一
输入:[1,1,2,2,3,4,5]
输出:[1,2,3,4,5]
2.算法描述
首先声明一个新的数组,用来装载没有重复元素的数组,再用循环去遍历实参的这个数组,看看这个元素有没有在数组里面出现,再将result数组当中添加没有出现的元素。
3.实验讨论与结果
找出其中的内在逻辑,分析,并写出过程,数入值,输出结果。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> function uniq (arr){ var result=[]; for (var i=0; i<arr.length; i++){ if (result.indexOf(arr[i])==-1){ result.push(arr[i]); } } return result } var result1=uniq([1,2,2,3,4,5]) console.log(result1) </script> |
4.结语
这个去除重复元素利用了查询和添加元素的方法,将每个元素都查询出来,再将查到的第一个不同的元素添加进新的数组。