如何开发移动网站,高唐住房建设局网站,怎么不花钱自己开网店,友情链接如何选择网站1、数组去重#xff1b; Array类型并没有提供去重复的方法#xff0c;如果要把数组的重复元素干掉#xff0c;那得自己想办法#xff1a; 方法一#xff1a;利用indexOf方法#xff1b; var aa[1,3,5,4,3,3,1,4]
function arr(arr) {var result[]for(var i0; iarr.le…1、数组去重 Array类型并没有提供去重复的方法如果要把数组的重复元素干掉那得自己想办法 方法一利用indexOf方法 var aa[1,3,5,4,3,3,1,4]
function arr(arr) {var result[]for(var i0; iarr.length; i){if(result.indexOf(arr[i])-1){result.push(arr[i])}}console.log(result)
}
arr(aa) 方法二 function unique(arr) {var result [], isRepeated;for (var i 0, len arr.length; i len; i) {isRepeated false;for (var j 0, len result.length; j len; j) {if (arr[i] result[j]) { isRepeated true;break;}}if (!isRepeated) {result.push(arr[i]);}}return result;
} 方法二总体思路是把数组元素逐个搬运到另一个数组搬运的过程中检查这个元素是否有重复如果有就直接丢掉。从嵌套循环就可以看出这种方法效率极低。我们可以用一个hashtable的结构记录已有的元素这样就可以避免内层循环。恰好在Javascript中实现hashtable是极为简单的改进如下 function unique(arr) {var result [], hash {};for (var i 0, elem; (elem arr[i]) ! null; i) {if (!hash[elem]) {result.push(elem);hash[elem] true;}}return result;
} 转载于:https://www.cnblogs.com/jone-chen/p/5097969.html