Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用上下文访问嵌套角度foreach循环中的变量_Angularjs - Fatal编程技术网

Angularjs 使用上下文访问嵌套角度foreach循环中的变量

Angularjs 使用上下文访问嵌套角度foreach循环中的变量,angularjs,Angularjs,我仍然是Angular和Javascript的新手,四处寻找解决方案,但很难找到一个,所以请耐心听我说。我有一个角度函数,看起来像这样: post: function(url, params) { var someObject = { 'key': ['value1', 'value2'] } for (var paramKey in params) { angular.forEach(someObject, function (values, key) {

我仍然是Angular和Javascript的新手,四处寻找解决方案,但很难找到一个,所以请耐心听我说。我有一个角度函数,看起来像这样:

post: function(url, params) {

var someObject = {
    'key': ['value1', 'value2']
}

for (var paramKey in params) {
    angular.forEach(someObject, function (values, key) {
        if (paramKey.indexOf(key) !== -1) {
            debugger; // params is still defined here

            angular.forEach(values, function (innerValue) {
                if (paramKey.indexOf(innerValue) !== -1) {
                    debugger; // params is no longer defined
                }
            }, params)
        }
    }, params)
}
我希望遍历一些键和值,并根据在内部循环中找到的内容,在将
params
对象发送到API之前对其进行操作

查看,我可以使用
context
参数在forEach中传递对象并将其保持在范围内。但是,我使用的是嵌套循环,出于某种原因,我似乎无法通过
context
params
传递到嵌套循环中。它第二次变成
未定义的


如何访问和操作内部循环中的
params
对象?

嵌套循环总是最好避免的,因此我想,如果您只是检查对象的键,然后检查键是否与任何数组字符串匹配,那么为什么还需要编写脚本呢。您可以这样做:

post: (url, params) => {
    var someObject = {
            'key': ['value1', 'value2']
    }
        Object.values(params).forEach((paramKey) => {
            if(someObject[paramKey]) {
                if(someObject[paramKey].includes(paramKey)) {

                }
            } 
        })
    }