下面函数主要利用了数组的sort方法,之后的逻辑是看最后一个元素是否等于要添加的元素,如果不是就往尾后加。
这个做法的效率等于sort方法的效率,还过得去。
代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> </head> <body onload="test()"> 23421 </body> </html> <script type="text/javascript"> <!-- function test(){ var arr=[3,4,5,3,4,3,4,5,1,1]; console.log(arr); var returnArr=getDistinctArray(arr); console.log(returnArr); } function getDistinctArray(arr){ var returnArr=new Array(); var sortedArr=arr.sort(); for(var i=0;i<sortedArr.length;i++){ if(returnArr[returnArr.length-1]!=sortedArr[i]){ returnArr.push(sortedArr[i]); } } return returnArr; } //--> </script>
输出:
Array [ 1, 1, 3, 3, 3, 4, 4, 4, 5, 5 ] Noname2.html:19
Array [ 1, 3, 4, 5 ]
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16198.html