前端js循环处理拼接字符串,处理百融风控字段

现在有这么一段征信相关的字段,需要处理成文字显示,如果一个个展示对应的字段就太麻烦了

    let SpecialList_c = {
      cell: {},
      id: {
        nbank_overdue: "0",
        nbank_overdue_allnum: "1",
        nbank_overdue_time: "1",
        nbank_sloan_overdue: "0",
        nbank_sloan_overdue_allnum: "1",
        nbank_sloan_overdue_time: "1",
        //以下可能会有更多的字段,好几十个吧,一般征信返回啥就处理啥
      }
    }

其中js处理的代码如下,以下是处理成一个数组,再循环展示(react直接两个map循环输出不了,不知道啥原因)

let kv = {
      id: "身份证号",
      cell: "手机号",
      nbank: "非银行机构",
      bank: "银行机构(含信用卡)",
      court: "查询法院",
      executed: "被执行人",
      other: "其它",
      bad: "中风险",
      overdue: "一般风险",
      lost: "高风险",
      time: "距今时间(年)",
      allnum: "次数",
      nsloan: "持牌网络小贷",
      sloan: "持牌小贷",
      cons: "持牌消费金融",
      finlea: "持牌融资租赁",
      autofin: "持牌汽车金融",
    }


    let silekey = (value) => {
      let ar = value.split("_");
      let name = ""
      let isfa = false
      for (let item of ar) {
        if (isfa && item == "bad") {//如果是法院的话
          name += "失信人"
        } else {
          name += kv[item]
        }
        if (kv[item] == undefined) console.log(item, 1111111)
        isfa = item == "court"
      }
      return name
    }
    
    
    let tsmdyz = []
    let abc = 1
    {
      Object.keys(SpecialList_c).map((value, index) => {
        //console.log(value, "ExecutionPro11.....", SpecialList_c[value])
        Object.keys(SpecialList_c[value]).map((value1, index1) => {
          let name = abc + "、" + kv[value] + silekey(value1);
          if (name == undefined) console.log("undefinedname", name)
          if (SpecialList_c[value][value1] != 0) {
            name += "---" + SpecialList_c[value][value1]
          } else {
            name = abc + "、" +kv[value] + silekey(value1) + "---命中";
          }
          abc++
          console.log(name) // foo, bar
          tsmdyz.push(name)
        })
      })
    }
    //console.log(tsmdyz, "111")

最后输出结果

1、身份证号非银行机构一般风险---命中
>2、身份证号非银行机构一般风险次数---1
>3、身份证号非银行机构一般风险距今时间(年)---1
>4、身份证号非银行机构持牌小贷一般风险---命中
>5、身份证号非银行机构持牌小贷一般风险次数---1
>6、身份证号非银行机构持牌小贷一般风险距今时间(年)---1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在for循环拼接字符串有几种常见的方法。第一种方法是在循环中使用String或StringBuilder对象进行拼接。例如,在每次循环时,将几个字段拼接成一个新的字符串,并赋值给对象。或者在循环外创建一个StringBuilder对象,在每次循环时向该对象中拼接新的内容,循环结束后得到拼接好的字符串。这种方法在每次循环结束后都会创建一个新的字符串对象,可能会占用较多的内存。 另一种方法是在每次循环拼接字符串后立即使用,并在下一次循环开始时销毁。这种方法可以减少内存的占用。例如,在循环内部使用String或StringBuilder对象进行拼接拼接完成后立即销毁。这样,在下一次循环开始时重新创建一个新的对象进行拼接。这种方法在每次循环结束后都会销毁字符串对象,节约了内存空间。 根据具体的需求和性能要求,选择适合的方法进行字符串拼接。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [StringBuider 在什么条件下、如何使用效率更高?](https://blog.csdn.net/weixin_43144260/article/details/107037127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wosylf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值