我使用jexl.eval函数计算一个值,如下所示-

jexl.eval("dataset[0].data['Entity Name'].toLowerCase().replace(/ /g, '_')",data);

DataSet[0].Data[‘实体名称’]始终为字符串且不为空, Jexl.eval中似乎有一些错误,它总是返回空字符串

我想确认一下是否支持toLowerCase()和Replace()?我的语法有没有什么问题?

jexl playground用于下一个查询

推荐答案

toLowerCase()replace是受支持的字符串操作方法,但您使用了错误的语法,这可能是产生不想要的输出的原因之一.

在JEXL中,您可以使用|(管道)运算符将100链接到一个值上.因此,为了正确使用它们,在JEXL表达式中使用它们之前,需要定义转换函数(针对toLowerCasereplace).类似于:

jexl.eval("dataset[0].data['Entity Name'] | lower | replace(' ', '_')", data);

// Tranformations 
jexl.addTransform('lower', (val) => val.toLowerCase());
jexl.addTransform('replace', (val, search, replacement) => val.replace(new RegExp(search, 'g'), replacement));

100

Javascript相关问答推荐

如何在NightWatch.js测试中允许浏览器权限?

React Native平面列表自动滚动

如何修复内容安全策略指令脚本-SRC自身错误?

RxJS setTimeout操作符等效

IMDB使用 puppeteer 加载更多按钮(nodejs)

JQuery. show()工作,但. hide()不工作

从WooCommerce Checkout Country字段重新排序国家,保持国家同步

嵌套异步JavaScript(微任务和macrotask队列)

google docs boldText直到按行执行应用脚本错误

html + java script!需要帮助来了解为什么我得到(无效的用户名或密码)

无法访问Vue 3深度监视器中对象数组的特定对象值'

在执行异步导入之前判断模块是否已导入()

如何在ASP.NET中使用Google Charts API JavaScript将条形图标签显示为绝对值而不是负值

VUE 3捕获错误并呈现另一个组件

如何迭代叔父元素的子HTML元素

React.Development.js和未捕获的ReferenceError:未定义useState

如果一个字符串前面有点、空格或无字符串,后面有空格、连字符或无字符串,则匹配正则表达式

我想使用GAS和HTML将从Electron 表格中获得的信息插入到文本字段的初始值中

将多个文本框中的输出合并到一个文本框中

为什么我的InDesign Java脚本不能完全工作?