在Angular中调用Array Into New Array来执行Filter

Call Array Into New Array To Perform Filter In Angular

本文关键字:Array 执行 Filter New Into 调用 Angular      更新时间:2023-09-26

我有一个数组,我使用映射方法从该数组过滤结果并输出新的数组,然后我可以调用到打印函数。问题是,我无法让新数组输出经过过滤的项目,并且它将原始数组中的值多次重复到控制台。我也不能在print函数中调用新的数组。

我的目标是使用第一个数组来提取相关的存储,然后第二个数组将在视图中直接使用角过滤器进行过滤。一旦过滤器被应用,我希望能够调用第二个数组的过滤数据来打印。

如有任何建议或指导,不胜感激。

代码:

printStoreList = function () {
    var storeDetail = function (store) {
        var result;
        {
            result = [];
            result.push(store.StoreName);
            result.push(store.Address);
            result.push(store.Phone);
            result.push(store.Zip);
            result.push(store.Is24Hour);
        }
        result.map(function(storeList){
            console.log(result); //This outputs duplicates of each array from above
            return {
                storeZip: storeList.Zip,
                storeName: storeList.StoreName,
                storeAddress: storeList.Address,
                storePhone: storeList.Phone
            };
        });
        return result;//This returns original array
    };

在第二个数组上,我希望能够使用类似于以下代码的东西来传递过滤后的数据到打印函数:

if ((store.StoreName.indexOf($scope.query) >=0) || $scope.query === undefined ){(Second_Array)};

我可以在第一个数组上执行过滤器,并且所有工作都按计划进行,但是我不想改变第一个数组。我想保留那个数组的输出和所有返回的东西,从那个数组创建第二个数组并过滤返回值给打印函数。

每次map函数迭代时,console.log语句都会打印结果数组。我不确定你想完成的是什么。

console.log(storeList);

将打印每个单独的项。

P我能够在原始函数之外创建新的数组,在那里我执行。filter方法和if语句来过滤indexOf $范围。查询,然后把它推到结果上。完美的工作。