let input = [
{
id: 1,
rollNo: 5,
Name: "A",
stDetails: {
city: "city1",
pin: 1234,
},
},
{
id: 2,
rollNo: 5,
Name: "B",
stDetails: {
city: "city1",
pin: 1234,
},
},
{
id: 3,
rollNo: 5,
Name: "C",
stDetails: {
city: "city1",
pin: 1234,
},
},
{
id: 4,
rollNo: 5,
Name: "D",
stDetails: {
city: "city1",
pin: 1234,
},
},
{
id: 5,
rollNo: 10,
Name: "E",
stDetails: {
city: "city2",
pin: 1234,
},
},
];
let uniqueKey = ["rollNo", "stDetails.city"];
我想得到所有非唯一值的id
在一个以上的出现,并检查记录是唯一的,我们需要检查rollNo
和stDetails.city
所以预期输出是:
[{id:2},{id:3},{id:4}];
在这里,您可以看到id
2、3和4与id
1具有相同的细节,因此这就是为什么它是预期输出
2条答案
按热度按时间nhjlsmyf1#
你可以这样做。
w1jd8yoj2#
纯JS解决方案
当然,你可以使用库,但是纯库总是最好的!
你应该循环遍历
input
,然后保存唯一的,并将每个与uniques
数组进行比较!如果在比较对象时遇到问题,只需将其转换为
JSON
!如果您有任何疑问,请发表评论。..
注意:如果你需要唯一的,打印
uniques
数组而不是non_uniques
数组。