首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >AngularJS:丢弃来自nodejs服务器端渲染数据的Json数据中的重复元素

AngularJS:丢弃来自nodejs服务器端渲染数据的Json数据中的重复元素
EN

Stack Overflow用户
提问于 2015-06-18 16:48:39
回答 2查看 240关注 0票数 0

我正在使用nodejs中的"itunes-search"模块,它以Json数据的形式发送搜索结果。Json数据有一个名为"artistName“的文件,其中有我可以看到的重复元素。但是我想打印"artistName“值,丢弃重复的实例。表示一个值应该只打印一次。我只包含了

代码语言:javascript
代码运行次数:0
运行
复制
<script type="text/javascript" src="/angular.js"></script>
<script src="js/angular-file-upload.min.js"></script> 

我正在尝试下面的代码。但它不起作用。还会打印多个值元素。

代码语言:javascript
代码运行次数:0
运行
复制
<ul>
<li data-ng-repeat="data in response | orderBy:'artistName' | unique:'artistName' "> 
<b> {{data.artistName}} <b><br/>
</li>
</ul>

我会非常感谢他对我的帮助。

EN

回答 2

Stack Overflow用户

发布于 2015-06-18 17:02:58

你需要创建你的过滤器。下面是一个示例:

代码语言:javascript
代码运行次数:0
运行
复制
angular.module('app',[]).filter('unique', function() {
  return function(list, attribute) {
    var result= [];
    var keys = [];

    // Find duplicates
    angular.forEach(list, function(item) {
      if(keys.indexOf(item[attribute]) === -1) { // Not already present
          keys.push(item[attribute]);
          result.push(item);
      }
  });

  return result;
};
票数 0
EN

Stack Overflow用户

发布于 2015-06-18 17:03:50

该错误提示您需要在您的angular应用程序中加载unique过滤器才能使用它。Angular找不到过滤器,因此抛出错误。下面是你可以解决的方法。

  1. 在脚本中将this另存为unique.js并将其加载到HTML中。
  2. 'ui.filters'添加到应用程序中的依赖项。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30910587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档