Javascript 删除JSON对象中的specfic键
我有一个JSON对象,看起来像这样Javascript 删除JSON对象中的specfic键,javascript,node.js,json,ecmascript-6,Javascript,Node.js,Json,Ecmascript 6,我有一个JSON对象,看起来像这样 { value: { "0": { dummy: "dummy1", data : "One", }, }, value2: { "0": { dummy: "dummy2", data : "two", }, }, value3: { "0": { dummy:
{
value: {
"0": {
dummy: "dummy1",
data : "One",
},
},
value2: {
"0": {
dummy: "dummy2",
data : "two",
},
},
value3: {
"0": {
dummy: "dummy3",
data : "three",
},
}
{
value: {
"0": {
data : "One",
},
},
value2: {
"0": {
data : "two",
},
},
value3: {
"0": {
data : "three",
},
}
}
我想要这样的输出
{
value: {
"0": {
dummy: "dummy1",
data : "One",
},
},
value2: {
"0": {
dummy: "dummy2",
data : "two",
},
},
value3: {
"0": {
dummy: "dummy3",
data : "three",
},
}
{
value: {
"0": {
data : "One",
},
},
value2: {
"0": {
data : "two",
},
},
value3: {
"0": {
data : "three",
},
}
}
我能够遍历所有对象的根元素,但无法遍历数组,尝试使用map,但没有任何帮助。如此答案中所述-删除运算符允许这样做
认真地说——一次搜索在不到一分钟的时间内找到了答案。我之所以把它包括进来,是因为我不知道delete操作符,并假设其他人可能对此感兴趣,但这样做的目的是回答至少进行了一点研究的问题。
此外,如果我这样做的话,我会找到一个比简单地重复删除操作符3次更好的方法,但这需要在数据结构中考虑得更多
注意
let origData={
“价值”:{
"1": {
假人:“dummy1”,
数据:“一”
}
},
“价值2”:{
"0": {
假人:“dummy2”,
数据:“两个”
}
},
“价值3”:{
"0": {
假人:“dummy3”,
数据:“三”
}
}
}
删除原始数据[“值”][“1”][“虚拟”];
删除origData[“value2”][“0”][“dummy”];
删除原始数据[“值3”][“0”][“虚拟”];
console.log(origData);//记录原始对象,而不记录已删除的键/属性
,这是一个使用
//const objectScan=require('object-scan');
常数数据={
值:{0:{dummy:'dummy1',数据:'One'},
值2:{0:{dummy:'dummy2',数据:'two'},
值3:{0:{dummy:'dummy3',数据:'three'}
};
const prune=objectScan(['*.0.data']{
rtn:'计数',
filterFn:({parent,property})=>{
删除父项[属性];
}
});
日志(删除(数据));
// => 3
控制台日志(数据);
/* => {
值:{0':{dummy:'dummy1'},
值2:{0':{dummy:'dummy2'},
值3:{0':{dummy:'dummy3'}
}*/
。作为控制台包装{最大高度:100%!重要;顶部:0}
您的问题中没有任何JSON。是某些数据结构(通常是对象或数组)的文本表示形式。您在问题中发布的是数据结构(一个JavaScript数组),而不是它的JSON表示。有没有更好的方法动态遍历所有对象并删除键?提前感谢是的-但您需要构建数据以支持它-查看您拥有的数据-带有可变数字的随机密钥集合-更好地组织这些密钥,然后您只需执行循环并使用insdex来识别要删除的密钥。但是你必须自己解决这个问题——否则你将永远无法学会如何为你试图实现的功能构建数据结构:)