我正在尝试使用 Is-Valid-Glob 验证 glob 表达式它接受字符串和数组。需要验证的值是从文本字段接收的。问题是,如果我们传递一个无效的 glob 表达式,它会产生错误的结果,因为每个输入都是作为字符串接收的。例如:- 如果用户输入 [](无效的 glob),它会作为字符串 '[]' 分配给模型变量,并且验证是在 '[]' 而不是 [] 值上完成的。 有没有一种方法可以将值从字符串变量转换为对象变量(只有值不应该获取类型)并进行验证?
PS:我使用的是 Angular 2。
最佳答案
您可以使用 JSON.parse 将字符串转换为对象:
var x = require('is-valid-glob');
var y = '[]';//'foo/*.js' any user provided string
// this will check if the user has provided an array object if so it
//will do a json.parse to remove the '' and then verify the string for a glob.
x(y[1] !== '['?y:JSON.parse(y));
关于angular - 将字符串转换为 typescript 中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47974559/