Javascript 从指定对象的数组中删除特定元素

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"]} ]

我需要修改一个嵌套数组。在本例中,我想从id为ZFrNsQKSY6ywSzYps的对象的目标数组中删除
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=>…
,是对象目标项内的一个循环,如果内容与不需要的内容不同,它将返回内容。我省略了括号,因为这是一个简单的示例,有关筛选函数的更多信息可以在