正在实现一个基于后台低代码配置的应用,记录一下字符串表达式在项目用的转换与使用。以下是使用表达式过滤数据的实践代码:
表达式如下
item.readFlag===1
封装使用函数
/*** 获取表格数据* @param array 被过滤的数组 * @param expression 表达式*/
function filterArrayByExpression(array, expression) {// 创建一个函数,用于将表达式字符串转换为可执行的函数const evalFunction = new Function('item', `return ${expression};`)// 使用 Array.filter() 方法对数组进行过滤const filteredArray = array.filter((item) => evalFunction(item))return filteredArray
}