🤖 此段代码来源于实现一个表单 select 功能
后端返回的选中值为 String 类型
但是返回的 option 数据里的 key 值为 Number 类型
用 iview select 组件,会因为类型不同,导致没有选中状态(内部应该是用了全等)
PS:经测试,原生的 select value 可以隐式类型转换
/**
* 将对象中 Number 类型的值,统一转为 String 类型
* PS:newObj !== obj
*
* @param { Object } obj - 对象
*
* @return newObj
**/
var objNumValueToStr = function (obj) {
var json = JSON.stringify(obj)
json = json.replace(/:[0-9.]+/g, function (str) {
return ':' + '"' + Number(str.slice(1)) + '"'
})
return JSON.parse(json)
}