当前位置: 首页 > Web前端 > JavaScript

确保从列表中获取可用的值

时间:2023-03-27 11:49:02 JavaScript

对于很多项目来说,需要一些配置项或者查询条件。当用户丢失配置数据或者项目的配置项下线时,都会导致项目出错,造成不可用的问题。这个时候开发需要提供一些来回策略。比如无法查询到当前列表数据,则默认使用第一项。每次都要写ensure-get-list-val这些东西很麻烦,所以这里做一个封装,代码如下:interfaceEnsureGetValFromListParams{/**listdata**/items:ItemType[]值?:值类型|undefined/**列表中数据值的提取方式**/getVal?:(item:ItemType)=>ValueType/**无法查询到数据时返回值的位置**/pos?:'第一次'|'last'}//ValueType=ItemType//如果未提供ValueType,则ValueType默认为ItemTypeconstensureGetValFromList=({items,value,getVal=item=>itemasunknownasValueType,pos='frist'}:EnsureGetValFromListParams):ValueType|null=>{//目前不是数组,直接返回nullif(!Array.isArray(items)){returnnull}constcount=items.length//目前直接为空数组返回nullif(count===0){返回空值;}//如果没有传值或者当前列表长度为1,直接返回列表中唯一的数据if(!value||count===1){returngetVal(items[0])}//查询list,是否有等于输入值的值if(items.some(item=>getVal(item)===value)){returnvalue}//返回列表中的第一项或最后一项constindex=pos==='frist'?0:count-1returngetVal(items[index])}ensure-中的代码get-list-val中也可以使用npm等工具安装使用。鼓励如果您觉得这篇文章不错,希望您能给我一些鼓励,帮我在我的github博客下star。博客地址