【发布时间】:2020-03-18 20:33:22
【问题描述】:
我想编写代码,遍历数组并删除重复项。副本在所有对象属性中应具有相同的值。
我的数组如下所示:
[ { name: 'Romeo Minnock', semester: 12 },
{ name: 'Romeo Minnock', semester: 8 },
{ name: 'Gideon Heinemann', semester: 19 },
{ name: 'Gideon Heinemann', semester: 1 },
{ name: 'Gideon Heinemann', semester: 19 },
{ name: 'Gideon Heinemann', semester: 12 },
{ name: 'Brant Colegrove', semester: 3 },
{ name: 'Brant Colegrove', semester: 17 },
{ name: 'Gideon Heinemann', semester: 1 },
{ name: 'Gideon Heinemann', semester: 12 } ]
现在我想删除姓名和学期具有相同值的学生。 但是我的代码只输出一个像这样的空数组:[] 我的 if 条件有问题吗?
for( k = 0; k < sameNameStudent.length; k++){
for( l = k + 1; l < sameNameStudent.length; l++){
if(sameNameStudent[k].semester == sameNameStudent[l].semester){
sameNameStudent.splice(sameNameStudent[l])
}
}
}
console.log(sameNameStudent);
【问题讨论】:
-
我很好奇——即使从数组中删除重复元素是合法的做法——你的数组是从哪里来的,它包含重复的值?或许您的数据查询并非真正应有的样子?
-
这个问题的另一种解决方案stackoverflow.com/questions/50729508/…
标签: javascript arrays object