嘿所有我想删除对象中的一些项目:
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
我也尝试过:
f] [0] .pop()
j.data [0] .pop()
j.data [0] .splice(1,1)
以上哪项工作或导致错误。
我做错了什么?
答案 0 :(得分:0)
如果您的对象看起来像这样(就像从该图像看起来那样)。
const j = {
data: {
bomDescription: "hjtyj",
environment: 2,
...
}
}
然后要删除environment
属性,您可以使用delete
语句。
const j = {
data: {
bomDescription: "hjtyj",
environment: 2
}
}
console.log(j.data);
delete j.data.environment;
console.log(j.data);

修改
要根据其值删除属性,您可以执行此操作。
const j = {
data: {
bomDescription: "hjtyj",
environment: 2
}
}
const removePropertyByValue = (obj, value) => {
for (const prop in obj) {
if (obj.hasOwnProperty(prop) && obj[prop] === value) {
delete obj[prop];
}
}
}
console.log(j.data);
removePropertyByValue(j.data, 2);
console.log(j.data);

编辑II
如果data属性是一个对象数组,那么你可以这样做。
const j = {
data: [{
bomDescription: "hjtyj",
environment: 2
}]
}
const removePropertyByValue = (obj, value) => {
for (const prop in obj) {
if (obj.hasOwnProperty(prop) && obj[prop] === value) {
delete obj[prop];
}
}
}
console.log(j.data[0]);
removePropertyByValue(j.data[0], 2);
console.log(j.data[0]);