【发布时间】:2016-11-18 16:22:39
【问题描述】:
我知道有一个快捷方式,比如使用 loadash 的 uniq,但我尝试使用原生 for 循环删除重复的对象数组。
var json = [
{name:"james"},
{name:"james_x"},
{name:"jame"},
{name:"james_x"}
]
for(var i = 0;i<json.length-1;i++){
if(json[i].name == json[i+1].name){
json.splice(i,i);
}
}
console.log(json);
https://jsfiddle.net/8wwnvzoc/
我真的很想知道怎么了。
【问题讨论】:
-
我认为你需要两个 for 循环
-
将每个名称存储在单独的名称数组中。在每个循环中检查该名称是否已存在于此名称数组中,如果确实将其删除。
-
I REALLY want to know what's wrong.你遇到错误了吗?结果错误? -
您正在将当前项目与列表中的下一个项目进行比较。除非对列表进行排序,否则这是行不通的
-
使用 for 循环检查排序算法,我建议您删除此问题,因为您将因此获得许多反对票 :)
标签: javascript arrays json loops for-loop