javascript - AngularJS 中的 SQL IN 语句相当于什么?

标签 javascript angularjs

我对 AngularJS 很陌生,我正在尝试弄清楚如何应用一个过滤器,其中记录 id 是数组中的 id 列表之一。在 SQL 中,它会是这样的:

SELECT * from Table1 where Table1.ID in (1,2,3,4,5)

我如何在 AngularJS 中完成同样的事情?我知道我需要应用过滤,但是如何呢?

最佳答案

您可以使用 filter 的组合使用纯 Javascript 来完成此操作和 some .

示例:

let a = [{id: 1, val: 'aaa'},
         {id: 2, val: 'bbb'},
         {id: 3, val: 'ccc'},
         {id: 4, val: 'ddd'},
         {id: 5, val: 'eee'},
         {id: 6, val: 'fff'},
         {id: 7, val: 'ggg'},
         {id: 8, val: 'hhh'}];

let b = [1,2,5,6];

let result = a.filter(x => b.some(y => y === x.id));

结果(字符串化):

[{"id":1,"val":"aaa"},{"id":2,"val":"bbb"},{"id":5,"val":"eee"},{"id":6,"val":"fff"}]

在 ES5 中你可以这样写:

var result = a.filter(function(x) { return b.some(function(y) { return y === x.id; }); });

关于javascript - AngularJS 中的 SQL IN 语句相当于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42769422/

相关文章:

javascript - 音乐播放完毕后自动刷新网页

javascript - 如何从文本框中获取姓名和电子邮件ID?

javascript - 在 angularjs 中发布响应重新加载数据后

javascript - 使用 Angular,如何将 `input` `ng-repeat` 中的 `div` 文本绑定(bind)到另一个 `div` 中的另一个 `ng-repeat` ?

javascript - 带有 websockets 的 Express.js

javascript - 来自 Base64 图像的 AngularJS Bootstrap 轮播幻灯片数据

javascript - 来自多维数组的全日历事件数据

javascript - AngularJS:当数据更改时如何获取更新指令?

javascript - 显示AJAX请求的结果

javascript - Breezejs angularjs 中的双重麻烦