递归,全局处理返回数据 (将返回数据中的name和nums 值脱敏处理)

该文章介绍了一个名为`isarrs`的JavaScript函数,它递归地遍历输入的对象,检查数组和转换特定键(如name和nums)的字符串内容。
摘要由CSDN通过智能技术生成

 var arr = { name: '张三', datas: [{ name: '赵德住', age: 18, nums: 15874395432 }, { name: '赵德住', age: 18, nums: 15874395432 }], datasone: { name: '刘德华', nums: 23423444 } }

    function isarrs(params) {

        if (typeof params === "object") {

            for (var key in params) {

                if (Array.isArray(params[key]) && params[key].length > 0) {

                    console.log(params[key], 'params[key]')

                    for (var j = 0; j < params[key].length; j++) {

                        params[key][j] = isarrs(params[key][j])

                    }

                } else if (typeof params[key] === "object") {

                    params[key] = isarrs(params[key])

                } else if (typeof params[key] == "string" || typeof params[key] == 'number') {

                    // 替换规则

                    var str = params[key]

                    if (typeof params[key] == 'number') {

                        str = str.toString()

                    }

                    var words = str.split("");

                    var strings = ''

                    if (key == 'name' || key == 'nums') {

                        for (var i = 0; i < words.length; i++) {

                            if (words.length <= 2) {

                                if (i < 1) {

                                    strings += words[0]

                                } else {

                                    strings += '*'

                                }

                            } else if (words.length > 2) {

                                if (i < 1) {

                                    strings = words[0]

                                } else if (i >= 1 && i < words.length-1 ) {

                                    strings += '*'

                                } else {

                                    strings += words[i]

                                }

                            }

                        }

                        params[key] = strings

                    }

                }

            }

            return params

        } else {

            return params

        }

    }

    var obj = isarrs(arr)

    console.log(obj, 'obj99999999')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值