[英]How to remove nested key from json object?
我有一个 JSON 对象,其中包含所有级别的“开始”和“结束”键。
我不想在对象中有“开始”和“结束”键和值。
怎么做? 我尝试使用omit
form lodash
但它只在第一级删除,所以这个解决方案还不够。
{
"type": "...",
"start": 0,
"end": 93,
"items": [
{
"type": "...",
"start": 0,
"end": 93,
"more": {
"type": "...",
"start": 0,
"end": 93,
这个怎么样?
o = JSON.parse(
JSON.stringify(o, (key, value) => {
if (key === "start" || key === "end") return undefined;
return value;
})
);
你可以试试这样的
function removeKeys(obj) {
if (obj && Object.keys(obj).length) {
delete obj.start;
delete obj.end;
Object.keys(obj).forEach(key => {
if (Array.isArray(obj[key])) {
obj[key].forEach(removeKeys);
} else if (obj[key] !== null && typeof obj[key] === 'object' ) {
removeKeys(obj[key]);
}
});
}
}
递归删除所有嵌套对象中的开始和结束键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.