返回只出现一次的数字(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;ivar 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);