如何在javascript中从给定数组中获取唯一值
我希望从javascript中的数组中获取所有唯一值,同时忽略字符串的大小写 预期产出:如何在javascript中从给定数组中获取唯一值,javascript,arrays,unique,Javascript,Arrays,Unique,我希望从javascript中的数组中获取所有唯一值,同时忽略字符串的大小写 预期产出: let数组=[“pune”,“pune”,“pune”पुणे", "400321", "पुणे", "400321"]; //想要的输出: //数组==[“pune”,“400321”पुणे"] console.log(array);假设需要数组中的所有唯一值(忽略值的大小写), 您可以使用对象对它们进行分组: 函数唯一值感知(值){ 让唯一=值。减少((acc,val)=>{ let downc
let数组=[“pune”,“pune”,“pune”पुणे", "400321", "पुणे", "400321"];
//想要的输出:
//数组==[“pune”,“400321”पुणे"]
console.log(array);
假设需要数组中的所有唯一值(忽略值的大小写),
您可以使用对象对它们进行分组:
函数唯一值感知(值){
让唯一=值。减少((acc,val)=>{
let downcased=val.toLowerCase();
如果(!(在acc中为下框))
acc[downcased]=val;
返回acc;
}, {});
返回Object.value(唯一);
}
让数组=[“pune”,“pune”,“pune”पुणे","400321","पुणे","400321"];
console.log(uniqueValuesCaseInsensitive(array));
您可以将所有字符串转换为小写,并将数组强制转换为集合以删除重复项。然后使用扩展语法将集合转换回数组
const arr=['pune','pune','pune','pune','पुणे',400321,'पुणे',400321];
const uniq=[…新集合(arr.map(x=>x.toLowerCase&&x.toLowerCase()| | x))]
console.log(uniq)
你是说只有唯一的值(不区分大小写)?在最终输出中,你想保持值的大小写与第一次出现的值相同还是大小写较低?我只想从三个值中取一个值,如下所示pune@ashwini因此,给定[“pUNe”,“pUNe”]
作为输入,您希望结果是[“pUNe”]
(第一个元素)或[“PuNe”]
(最后一个元素)或[“PuNe”]
(小写)或[“PuNe”]
(大写)作为输出?另一种选择是[…新的集合(inp.map(v=>v.toLowerCase())]
@codemanic但不保留第一个元素的大小写(即所有元素都将小写)。我补充了答案,这是一个很好的解决方案:)谢谢你指出:)肯定是的,但从给定的例子来看,似乎我只是要求OP在一个