javascript检查对象属性开始
问题描述:
如何仅选择具有特定字符开始的对象中的键? 在MI情况下,关键的begining以点(“.prop_2' 和” .prop_4' )javascript检查对象属性开始
mi_obj = {
'prop_1': 'value 1',
'.prop_2': 'value 2',
prop_3: 'value 3',
'.prop_4': 'value 4'
}
我知道这是可能有‘for’循环,但没有其他更好的选择?
答
可以做一个过滤器上的按键,这将返回所有以点
Object.keys(mi_obj).filter(function(key) {
return key.starsWith('.');
}
答
在我看来开始键的阵列,最简单的方法是一个简单的for循环(如你所说)。
但是,如果你想要另一种方式(假设它很优雅),你可以采取所有的属性,并使用filter
。
首先,取对象的属性作为数组:
Object.keys(mi_obj);
然后过滤他们:
Object.keys(mi_obj).filter(function(x) {return x.startsWith("."); });
或用一个lambda表达式:
Object.keys(mi_obj).filter(function(x) {(x) => x.startsWith("."));
'Object.keys (mi_obj).filter(a => a.startsWith(“。”));'可能是更好的选择,但这取决于你是否需要支持较旧的眉毛SERS。 – Xufox