我还是Angular和Javascript的新手,四处寻找解决方案,但是很难找到解决方案,所以请在这里与我联系。我有一个看起来像这样的Angular函数:
var FortunaKey = CryptKey().genFortuna(); //generate 32 byte key with Fortuna //you can also enter your own
var iv = CryptKey().genDart(16); //generate iv for AES with Dart Random.secure() //you can also enter your own
var aesEncrypter = AesCrypt(FortunaKey, 'cbc', 'pkcs7'); //generate AES CBC block encrypter with key and PKCS7 padding
String encrypted = aesEncrypter.encrypt('somedatahere', iv); //encrypt
String decrypted = aesEncrypter.decrypt(encrypted, iv); //decrypt
我想遍历一些键和值,并根据我在内部循环中找到的内容,想在将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)
}
对象发送到API之前对其进行操作。
看着forEach documentation,我可以使用params
参数将对象传递给forEach并将其保持在范围内。但是,我使用的是嵌套循环,由于某种原因,我似乎无法继续将context
通过params
传递到嵌套循环中。第二次变成context
。
如何在内部循环中访问和操作undefined
对象?
答案 0 :(得分:0)
总是最好避免嵌套循环,所以我想,如果只检查对象的键,然后再检查键是否与数组字符串中的任何一个匹配,为什么甚至还需要启动操作。您可以执行以下相同操作:
chr pos gene_id p.val.LCL p.val.Retina
chr1 756164 ENSG00000237094 0.1 7.15853e-05
chr1 775930 ENSG00000237094 0.4 9.72251e-05
chr1 814583 ENSG00000237094 0.6 1.88553e-05
chr1 815963 ENSG00000237094 0.7 3.85837e-06
chr6 130235069 ENSG00000164484 5.43098e-06 5.43098e-06
chr17 45848600 ENSG00000236234 9.005e-06 9.005e-06
chr11 34862454 ENSG00000110435 1.81973e-06 1.81973e-06
chr17 45979467 ENSG00000236234 1.34927e-05 1.34927e-05
chr5 81234109 ENSG00000248794 4.36795e-06 4.36795e-06