以编程方式修改数组| Java脚本

因此,我试图获取通过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);

    }

};   


holdtom
浏览 147回答 2
2回答

隔江千里

您第一个if statement检查对象或不检查对象也与数组匹配(数组是一个对象以及所有其他对象)。我的意思是,您总是在对象和数组上都达到第一个IF。因此,您可以切换第一个和第二个if,或者正确检查其对象而不是第一个数组 if statement
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript