gpt4 book ai didi

javascript - AngularJS ng-repeat 删除对象中重复键的问题

转载 作者:行者123 更新时间:2023-12-03 12:27:28 27 4
gpt4 key购买 nike

如果属性相同,我尝试使用 ng-repeat 来重复其余数据。这听起来可能不太清楚,所以这里有一个例子。

JSON 示例,它是书籍数组

[{"Genre":Sci-fic,"Name":"Bookname1"},
{"Genre":Sci-fic,"Name":"Bookname2"},
{"Genre":Non sci-fic,"Name":"Bookname3"},
{"Genre":Non sci-fic,"Name":"Bookname4"}]

因此,如果这本书属于同一类型,那么我们会将类型类型作为 Accordion 的标题,并列出类型为该类型的书籍的其余属性,而不重复标题。我遇到的问题是,由于 json 对象数组来自数据模型,如果不重复流派类型,我无法真正过滤类型。

这是我想要将标题设置为 Book.Genre 的内容,并且在该 Accordion 组内将列出所有类型为标题的书籍的列表。

http://plnkr.co/edit/PwIrOAIT3RRaE2ijzGZb?p=preview

最佳答案

我还无法解决这个问题...我能想到的最好的解决方案是在将该模型添加到您的范围之前简单地删除重复项...

使用您的 jsFiddle 示例...

<强> http://jsfiddle.net/mcpDESIGNS/Uz5tM/1/

var books = [
{"Genre":"Sci-fic", "Name":"Bookname1"},
{"Genre":"Sci-fic", "Name":"Bookname2"},
{"Genre":"Non sci-fic", "Name":"Bookname3"},
{"Genre":"Non sci-fic", "Name":"Bookname4"}
];

var unique = [],
blocked = [];

unique.push(books[0]);
blocked.push(books[0].Genre);

for (var i = 1; i < books.length; i++) {
if (blocked.indexOf(books[i].Genre) <= -1) {
unique.push(books[i]);
blocked.push(books[i].Genre);
}
}

$scope.Books = books;
// [{Genre: "Sci-fic", Name: "Bookname1"},
// { Genre: "Non sci-fic", Name: "Bookname3" }];

关于javascript - AngularJS ng-repeat 删除对象中重复键的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24121916/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com