在Angular中调用Array Into New Array来执行Filter
Call Array Into New Array To Perform Filter In Angular
我有一个数组,我使用映射方法从该数组过滤结果并输出新的数组,然后我可以调用到打印函数。问题是,我无法让新数组输出经过过滤的项目,并且它将原始数组中的值多次重复到控制台。我也不能在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 $范围。查询,然后把它推到结果上。完美的工作。
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JavaScript执行暂时挂起页面
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 当js函数's已执行
- 哪个先执行
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- HTML表单提交时未执行外部函数
- 在Safari执行javascript之前对其进行修改
- 如何为json对象中的段发送array[]
- Amd,希望确保某个东西总是最后执行
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- 在我执行alert()之前,Javascript array.length为0
- 使用 Array 中的值在 jQuery 中执行函数
- 在Angular中调用Array Into New Array来执行Filter
- 是否有可能在每次创建Array时都执行一个函数?
- 对array构造函数创建的未定义数组执行forEach操作