Javascript正在删除循环中的对象文字项

Javascript正在删除循环中的对象文字项,javascript,object,stack,literals,splice,Javascript,Object,Stack,Literals,Splice,嘿,我正在尝试删除对象中的一些项目: if (e = j[a].apply(j, g), e !== c && e !== j) $.each(j.data[0], function (key, value) { console.log(key, value); j.data.splice(1, 1); }); return h = e, !1 但是,这似乎不会删除环境项,因为它是#1,而bomDescription是#0 我还尝

嘿,我正在尝试删除对象中的一些项目:

if (e = j[a].apply(j, g), e !== c && e !== j)
    $.each(j.data[0], function (key, value) {
       console.log(key, value);
       j.data.splice(1, 1);
    });

return h = e, !1

但是,这似乎不会删除环境项,因为它是#1,而bomDescription#0

我还尝试:

j[0].pop()

j.data[0].pop()

j.data[0]。拼接(1,1)

以上哪一项不起作用或导致错误


我做错了什么?

如果您的对象看起来像这样(从该图像可以看出)

然后,要删除
environment
属性,您可以像这样使用
delete
语句

const j={
数据:{
说明:“hjtyj”,
环境:2
}
}
console.log(j.data);
删除j.data.environment;

console.log(j.data)数据[0]
的内容是对象还是数组?你的标题是“object”,但你的代码显示了一个数组。@Mark\M我以为它是object literalsb,但你调用的是
splice()
这是一个数组方法。那么我将回到我的OP中的最后一句话-我做错了什么?:)谢谢你的示例-但是-我不知道我要删除的项目的名称(键)。@StealthRT然后根据你要删除它的内容?它将是一个数字,所以在我的示例中,我将静态数字设置为1。@StealthRT很抱歉,但我不明白。数字是多少?对象属性没有排序。你的意思是要删除以数字作为其值的属性吗?是的@matus我将检查something=key是否存在,然后删除它。
const j = {
  data: {
    bomDescription: "hjtyj",
    environment: 2,
    ...
  }
}