我尝试使用某种通配符从对象中删除多个项目。 对象可能如下所示:
initialize()
我希望能够做到这样的事情(伪代码):
myObject = {
id_0: {...},
id_1: {...},
id_2_radio_0: {...},
id_2_radio_1: {...},
id_2_radio_2: {...},
id_5: {...},
id_21: {...}
}
所以它会删除所有带有以#34; id_2 _"
开头的键的元素有合理的方法吗?或者收集与我的通配符匹配的所有键的数组,以及通过该数组的foreaching删除每个元素。
我希望我对我的问题的描述不会太混乱!
以下是真实JSON的示例:
delete myObject['id_2_' + *]
答案 0 :(得分:1)
如果字符串以给定模式开头,您可以迭代键并删除。
var object = {
id_0: {},
id_1: {},
id_2_radio_0: {},
id_2_radio_1: {},
id_2_radio_2: {},
id_5: {},
id_21: {}
};
Object.keys(object).forEach(function (k) {
if (k.startsWith('id_2_')) {
delete object[k];
}
});
console.log(object);