Javascript 从指定对象的数组中删除特定元素
我需要修改一个嵌套数组。在本例中,我想从id为ZFrNsQKSY6ywSzYps的对象的目标数组中删除Javascript 从指定对象的数组中删除特定元素,javascript,Javascript,我需要修改一个嵌套数组。在本例中,我想从id为ZFrNsQKSY6ywSzYps的对象的目标数组中删除content 2 var array = [ { _id: "QKSY6ywSzYpsZFrNs", target: ["content 1"]} { _id: "ZFrNsQKSY6ywSzYps", target: ["content 1", "content 2"]} { _id: "SzYpsZFrNQKSY6yws", target: ["content 1"]} ]
content 2
var array = [
{ _id: "QKSY6ywSzYpsZFrNs", target: ["content 1"]}
{ _id: "ZFrNsQKSY6ywSzYps", target: ["content 1", "content 2"]}
{ _id: "SzYpsZFrNQKSY6yws", target: ["content 1"]}
]
我尝试使用find()
,但没有使用它更新数组。因此,这似乎不是正确的方法。var newarray=[]
var newarray = []
for(var i1 = 0; i1< array.length;i1++){
var subarray = []
for(var i2 = 0; i1<array[0].target.length;i++){
if(array[0].target[0]!="content 2"){ // or desired removed content
subarray.push(array[0].target[0])
}
}
newarray.push({"_id":array[0].id,"target":subarray})
}
for(var i1=0;i1 对于(var i2=0;i1First:数组中的元素应以逗号分隔
第二:是否有更新目标数组的逻辑?如果有,您可以迭代元素并根据该逻辑修改它们的目标
除此之外,你可以一直这样做
array[1].target = ["content1"]
尝试以下方法:
const array = [
{ _id: "QKSY6ywSzYpsZFrNs", target: ["content 1"]},
{ _id: "ZFrNsQKSY6ywSzYps", target: ["content 1", "content 2"]},
{ _id: "SzYpsZFrNQKSY6yws", target: ["content 1"]}
]
console.log(array);
array.forEach(
item =>
// filter out the unwanted content
item.target = item.target.filter(
content => content !== "content 2"
)
)
console.log(array);
您可以使用find()
方法获取对象,然后使用indexOf()
在数组中查找要删除的元素,如果找到splice()
方法则删除该元素
var数组=[
{u id:“QKSY6ywSzYpsZFrNs”,目标:[“内容1”]},
{u id:“ZFrNsQKSY6ywSzYps”,目标:[“内容1”,“内容2”]},
{u id:“SzYpsZFrNQKSY6yws”,目标:[“内容1]”
]
const obj=array.find(({u id})=>u id='ZFrNsQKSY6ywSzYps');
如果(obj){
常数i=obj.target.indexOf('content 2');
如果(i!=-1)对象目标拼接(i,1)
}
console.log(数组)
请分享您的尝试。您的销售代表的用户应该知道分享努力的重要性。您好!到目前为止您尝试过什么吗?StackOverflow不是免费的代码编写服务,希望您尝试。请更新您的问题,以显示您已经尝试过的内容,并展示您在销售过程中面临的特定问题。有关进一步信息,请ion,请看,然后取下。创建一个带有过滤器的新数组,或者只是将元素拼接出来。可能是Yep@TheOneWhoMade的重复。这就是为什么我问是否有逻辑删除“content2”。如果没有,这很好。我想我们应该继续重复问题。你同意吗?对于已经回答的问题,我们不需要传统的答案。当然,我同意:))K.将其标记为重复并编辑你的答案,这样我就可以收回我的否决票。我不明白。我应该编辑什么问题?我认为我们应该只使用重复问题。你同意吗?而且,这只会将其从一个id中删除。我认为我们应该使用重复问题。你同意吗?而不是争论这个问题?如果OP愿意的话s从数组中的单个对象中删除,那么我同意这是一个重复,但是如果他需要从数组的所有项中删除内容2,那么我认为这是一个类似的问题,但不是重复。箭头函数又有什么用呢?第一个,项=>…
,在第一个数组中循环,即带有对象的数组。第二个是d one,content=>…
,是对象目标项内的一个循环,如果内容与不需要的内容不同,它将返回内容。我省略了括号,因为这是一个简单的示例,有关筛选函数的更多信息可以在