返回只出现一次的数字(JavaScript)

返回只出现一次的数字(JavaScript),javascript,Javascript,假设我有数组[1,2,3,5,2,1,4]。如何获取make JS return[3,4,5] 我看了其他的问题,但它们都是关于删除一个数字的副本,这个数字出现了不止一次,而不是原件和副本 谢谢 使用方法两次 var数据=[1,2,3,5,2,1,4]; //迭代元素和过滤器 var res=data.filter(函数(v){ //获取数组中当前元素的计数 //并根据计数进行筛选 返回数据.过滤器(函数(v1){ //与当前元素比较 返回v1==v; //检查长度 }).长度==1; });

假设我有数组
[1,2,3,5,2,1,4]
。如何获取make JS return
[3,4,5]

我看了其他的问题,但它们都是关于删除一个数字的副本,这个数字出现了不止一次,而不是原件和副本

谢谢

使用方法两次

var数据=[1,2,3,5,2,1,4];
//迭代元素和过滤器
var res=data.filter(函数(v){
//获取数组中当前元素的计数
//并根据计数进行筛选
返回数据.过滤器(函数(v1){
//与当前元素比较
返回v1==v;
//检查长度
}).长度==1;
});

控制台日志(res)您也可以使用
.slice().sort()

var x=[1,2,3,5,2,1,4];
变量y=x.slice().sort();//Y的值是排序后的值X
var newArr=[];//定义新数组
对于(var i=0;i
var arr=[1,2,3,5,2,1,4]
var sorted_arr=arr.slice().sort();//您可以在这里定义比较函数。
var非重复=[];
重复变量=[];
对于(变量i=0;i>”+非重复元素);
警报(“重复元素>>”+重复项);

我认为地图中可能存在选项

函数唯一(数组){
//代码在这里
const myMap=新映射();
for(阵列常数){
//保存按相同顺序仅出现一次的数组元素
!myMap.has(el)?myMap.set(el,1):myMap.delete(el);
}
返回[…myMap.keys()];
}
常量数组=[1,2,3,5,2,1,4];
//[11, 23, 321, 300, 50, 23, 100,89,300];

console.log(unique(array));
对arrayfilter的解释可能会有所帮助,因为在jquery函数中,Op只标记了javascript和筛选器。@Leopard:确定吗?:)
var arr = [1,2,3,5,2,1,4]
var sorted_arr = arr.slice().sort(); // You can define the comparing function here. 
var nonduplicates = [];
var duplicates=[];
for (var i = 0; i < arr.length; i++) {
    if (sorted_arr[i + 1] == sorted_arr[i]) {
        duplicates.push(sorted_arr[i]);
    }else{
        if(!duplicates.includes(sorted_arr[i])){
        nonduplicates.push(sorted_arr[i]);
      }
    }
}

alert("Non duplicate elements >>"+ nonduplicates);
alert("Duplicate elements >>"+duplicates);