题目描述
找出数组 arr 中重复出现过的元素
示例1
输入
[1, 2, 4, 4, 3, 3, 1, 5, 3]
输出
[1, 3, 4]
unction duplicates(arr) {
var a=arr.sort(),b=[];
for(var i in a){
if(a[i]==a[i-1] && b.indexOf(a[i])==-1) b.push(a[i]);
}
return b;
}//先排序,如果后一个与前一个相等且未保存,则保存。
// -----------------------------------------------------------
function duplicates(arr) {
var result = [];
arr.forEach(function(elem){
if(arr.indexOf(elem) !=arr.lastIndexOf(elem) && result.indexOf(elem) == -1){
result.push(elem);
}
});
return result;
}
// ----------------------------------------------------------
function duplicates(arr) {
var res = []
arr.forEach(function(val) {
var len = arr.length
var len2 = arr.filter(function(v) {
return v!=val
}).length
if(len != len2+1 && !res.some(function(v){return v==val}))
res.push(val)
})
return res
}