javascript - 使用 angular.copy 实现 Angular 搜索

标签 javascript angularjs arrays filter

我有一个简单的按钮,单击该按钮时,它将过滤列表并返回过滤后的列表:

var originalArray = [{name: "A", number: 1},{name: "B", number: 2},....]

这是过滤函数

function filterList(filterName, filterNumber) {
    var filteredList = angular.copy(originalArray);

    filteredList = filteredList.filter(function(item){
        return item.name === name
    }

    return filteredList
}

我的问题是我是否使用正确的方法来实现此功能?假设用户点击搜索按钮 10000 次!我有 10000 个 originalArray 副本吗?

最佳答案

由于过滤器仅返回一个数组,因此使用它即可,您将不需要使用 angular.copy

function filterList(filterName, filterNumber) {
    return originalArray.filter(function(item){
        return item.name === name
    }
}

也就是说,如果您从 View 中执行此操作,则有更好的方法可以执行此操作。 Angular already has built in tools for filtering.

关于javascript - 使用 angular.copy 实现 Angular 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39120523/

相关文章:

javascript - 如何使用 ES6 类添加事件监听器并在 Canvas 中移动对象?

javascript - ng-repeat 中的 ng-model - 初始化唯一范围属性

c++ - 将 'sort' 与字符数组一起使用 (C++)

javascript - 根据 AngularJS 中模型的值更改类

javascript - 获取元素数据属性并将其插入到按钮中

javascript - 插入数组后 Angular 清除对象

jquery - 具有 ng-repeat 指令的容器高度为零

c++ - 给二维数组分配内存时 `new int*[rowCount];`是什么意思?二维数组是指向数组的指针数组吗?

javascript - 如何减去对象值

javascript - react |未定义解构分配时传递默认 Prop 值时出错