form.register {
width: 500px;
margin: 400px auto 0;
background-color: aquamarine;
}
我希望能够做到这一点:
let obj = {
"services": [{
"service": "hello"
},{
"service": "helloAgain"
}]
}
一如既往
let ret = parse(obj, "services[].service");
// ret => ["hello", "helloAgain"]
使用lodash,后者很好,
let ret = parse(obj, "services[0].service");
// ret => "hello"
但是,他们不支持前者。
_。map将会关闭
_.get(obj, "services[0].service");
但是我必须明确地声明数组,而不是想要灵活地将其指定为字符串。
我认为一种方法是使用这篇文章:Accessing nested JavaScript objects with string key
这很有趣,特别是:
_.map(obj.services, "service");
// => ["hello", "helloAgain"]
这将允许:
s = s.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
s = s.replace(/^\./, ''); // strip a leading dot
我想是否可以修改正则表达式以允许上面的内容,以及:
"services[0].service" //(and the regex will convert it to) services.0.service
然后,我将编写一些逻辑来检查*,然后执行:
services.*.service
希望我并不太不稳定。