Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中从给定数组中获取唯一值_Javascript_Arrays_Unique - Fatal编程技术网

如何在javascript中从给定数组中获取唯一值

如何在javascript中从给定数组中获取唯一值,javascript,arrays,unique,Javascript,Arrays,Unique,我希望从javascript中的数组中获取所有唯一值,同时忽略字符串的大小写 预期产出: let数组=[“pune”,“pune”,“pune”पुणे", "400321", "पुणे", "400321"]; //想要的输出: //数组==[“pune”,“400321”पुणे"] console.log(array);假设需要数组中的所有唯一值(忽略值的大小写), 您可以使用对象对它们进行分组: 函数唯一值感知(值){ 让唯一=值。减少((acc,val)=>{ let downc

我希望从javascript中的数组中获取所有唯一值,同时忽略字符串的大小写

预期产出:

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在一个