因此,我试图获取通过REST API收集的数据,并针对已经创建的盐/胡椒进行解密。下面的函数$value是一个对象数组时,仅返回数组中的最后一个对象。encryption.decrypt() 返回一个字符串。UPDATE已更新带有注释的代码,我仍然收到一个对象,而不是对象数组。sharedServices.encryption.decrypt = function($value) { if(typeof $value === 'object' && $value !== null) { $result = {}; for(var $key in $value) { $result[$key] = sharedServices.encryption.decrypt($value[$key]); } return $result; } else if(Array.isArray($value)) { $result = new Array(); for(var $i of $value) { $result[$i] = sharedServices.encryption.decrypt($value[$i]); } return $result; } else { $pepperSalt = sharedServices.encryption.pepper + "3" + sharedServices.encryption.salt; let encryption = new Encryption(); return encryption.decrypt($value, $pepperSalt); }};
2 回答
隔江千里
TA贡献1906条经验 获得超10个赞
您第一个if statement
检查对象或不检查对象也与数组匹配(数组是一个对象以及所有其他对象)。我的意思是,您总是在对象和数组上都达到第一个IF。
因此,您可以切换第一个和第二个if,或者正确检查其对象而不是第一个数组 if statement
添加回答
举报
0/150
提交
取消