1 parent 445d390 commit 249f108Copy full SHA for 249f108
1 file changed
面试题-数组去重.js
@@ -0,0 +1,34 @@
1
+// see http://www.cnblogs.com/mackxu/p/array-unique.html
2
+
3
+// for循环删除后面重复的 速度最快,可用倒序计算可加快速度
4
5
+var uniqueFor = function(arr) {
6
+ for (var i = 0; i < arr.length - 1; i++) {
7
+ var item = arr[i];
8
+ for(var j = i+1; j < arr.length; j++ ) {
9
+ item === arr[j] && (arr.splice(j, 1), j--);
10
+ }
11
+ };
12
+ return arr;
13
+};
14
15
16
+//判断对象属性
17
18
+var uniqueObject = function(arr) {
19
+ var v, r = [], o = {};
20
+ for(var i = 0; (v = arr[i]) !== undefined; i++) {
21
+ !o[v] && (r.push(v), o[v] = true);
22
23
+ return r;
24
25
26
27
+//数组过滤重复项filter
28
29
+var uniqueFilter = function(arr) {
30
+ return arr.filter(function(elem, pos, self) {
31
+ // 如果没有重复项,返回true
32
+ return self.indexOf(elem, pos + 1) === -1;
33
+ });
34
0 commit comments