项目中有一个表单,初始化根据服务端返回的数据渲染,服务端返回的是一个对象,有些字段的值为 ‘NULL’ 这种形式的,渲染出来没什么意义,一般都会转换为空。这种形式的字符串布尔值是 false,而且是对象的值,不好一键转换,这里就需要写一个函数去做校验了。这里我写了个简单的转换函数如下:
export function checkVal(val) { const isSense = checkStr => { if (typeof checkStr !== 'string') { return checkStr; } const noSense = ['null', 'undefinded']; const str = checkStr.toLowerCase(); return noSense.includes(str) ? '' : checkStr; }; const isObject = value => { const type = typeof value; return value != null && (type === 'object' || type === 'function'); }; if (isObject(val)) { const keys = Object.keys(val); let newVal = Object.create(null); keys.forEach(el => { newVal[el] = isSense(val[el]); }); return newVal; } isSense(val); }
|
首先判断输入值是否为对象,不是对象的话我们就直接处理了,这里的处理也很简单,值不在无意义数组里面,就返回原始值否则返回空。若输入值是一个对象,则遍历一下 key,当前 key 对应的值若是无意义值返回空,否则返回原始值。
本文标题:校验字符串是否有意义
文章作者:Canace
发布时间:2021-08-12
最后更新:2023-05-26
原始链接:https://canace.site/%E6%A0%A1%E9%AA%8C%E5%AD%97%E7%AC%A6%E4%B8%B2/
版权声明:转载请注明出处