javascript - JavaScript 中的过滤器不起作用

标签 javascript angularjs

我有一个 Javascript 元素数组,我想根据它的属性进行过滤。

现在,我要过滤的响应对象看起来像这样:

enter image description here

并且各个对象可能具有 row_stat_cd “I”“L”

我只想获取"I" 记录。所以我做了..

    referenceDataRecord.filter(isInactive);

    function isInactive(obj) {
        return obj.row_stat_cd != "L";
    };

    angular.forEach(referenceDataRecord, function (k, v) {
        .........

但 referenceDataRecord 仍然包含所有记录。它没有被过滤,只保留 “I” 记录。

最佳答案

filter 方法本身不会修改数组。您必须设置对变量的引用

referenceDataRecord = referenceDataRecord.filter(isInactive);

    function isInactive(obj) {
        return obj.row_stat_cd != "L";
    };

    angular.forEach(referenceDataRecord, function (k, v) {

The filter() method creates a new array with all elements that pass the test implemented by the provided function

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

关于javascript - JavaScript 中的过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38723657/

相关文章:

javascript - 我应该在哪里接受 Firefox 附加组件分发协议(protocol)?

javascript - 按空格分割字符串,没有空元素?

javascript - ng 模型值在自定义指令中打印未定义

javascript - 在 ng-repeat 中按顺序生成数字

javascript - 每次页面刷新后用户个人资料信息都会重置(使用 Hello.js)

javascript - 修改可观察列表中的每一项,并再次将修改后的列表作为可观察对象返回

javascript - 这种按多个属性对对象数组进行排序的方法有多可靠?

javascript - Angular JS 注入(inject)自定义服务

javascript - Angularjs:如何编写 $http 作为 Controller 的 promise

javascript - 如何在 Angular 中查询和提取服务器响应