当前位置: 首页 > 知识库问答 >
问题:

如何从对象内部删除项

艾晋
2023-03-14

我有一个数组像

 let = cartItem =
   {
    "_id": "6075a0ddf88a6035001376d0",
    "buyerId": "603e808bab11752d38c463cb",
    "buyerEmail": "hassaanather00@gmail.com",
    "buyerName": "Muhammad  Hassaan Ather",
    "products": [
          {
              "_id": "6075a9afb5335c2e94b29c1b",
              "productId": "606ddc2a4b7adbd74c703746",
              "quantity": 4,
              "productTitle": "New",
              "productSelectedFile": "URL",
              "productPrice": 10000
          },
          {
              "_id": "6075abf8b5335c2e94b29c1c",
              "productId": "605df90844bf6e0264544b77",
              "quantity": 1,
              "productTitle": "Wooden",
              "productSelectedFile":             
              "anyUrl",
              "productPrice": 100000
          }
        ],

      }

现在我要移除cartItem对象中的一个产品。我试过这个方法,但是更新后它也把原来的cartitem弄得一塌糊涂。

  let newCart = cartItems.products.filter((item) => item.productId !== id);

最后,原始的cartItem对象也没有显示任何东西。

我想要的是从products数组中移除一个产品,并发送回剩余的数组。

共有1个答案

杨建章
2023-03-14

null

let = cartItem =
   {
    "_id": "6075a0ddf88a6035001376d0",
    "buyerId": "603e808bab11752d38c463cb",
    "buyerEmail": "hassaanather00@gmail.com",
    "buyerName": "Muhammad  Hassaan Ather",
    "products": [
          {
              "_id": "6075a9afb5335c2e94b29c1b",
              "productId": "606ddc2a4b7adbd74c703746",
              "quantity": 4,
              "productTitle": "New",
              "productSelectedFile": "URL",
              "productPrice": 10000
          },
          {
              "_id": "6075abf8b5335c2e94b29c1c",
              "productId": "605df90844bf6e0264544b77",
              "quantity": 1,
              "productTitle": "Wooden",
              "productSelectedFile":             
              "anyUrl",
              "productPrice": 100000
          }
        ]
}
      
//delete 6075abf8b5335c2e94b29c1c

for (var i = 0; i < cartItem["products"].length; i++) {
  if (cartItem["products"][i]["_id"] == "6075abf8b5335c2e94b29c1c") {
    cartItem["products"].splice(i, 1);
    break;
  }
}

console.log(cartItem);
 类似资料:
  • 假设我有一个雇员对象列表,每个雇员类都有雇员姓名、雇员地址、工资等属性。现在我必须删除名称为“John”和Salary的雇员对象 列表empList=new ArrayList 根据我的理解,若要解雇具有上述情况的员工,我应使用以下代码: 因此,基本上上述代码将从列表中删除所需的Employee对象。如果我的理解正确,请告诉我。 除此之外,请澄清以下几点:1.当我们有数百万条记录时,我们将如何解决

  • 问题内容: 我遍历对象数组,并希望基于其“ id”属性删除其中一个对象,但是我的代码无法正常工作。 有什么建议么。谢谢。 问题答案:

  • 问题内容: 说我创建一个对象,如下所示: 删除该属性以使其最终成为new 的最佳方法是什么? 问题答案: 像这样: 演示版

  • 问题内容: 我正在尝试从ArrayList中删除一个对象。每个Item对象都有3个属性;1. itemNum 2.信息3.费用。我也有3个类,即1。Item类定义了存储在目录中的单个项目。2. Catalog类维护Item对象的列表。3带main方法的客户端类。我在Set类中具有设置并获取,在Catalog中具有ArrayList。在客户端中,提示我“输入要删除的itemNum。如何基于对item

  • 有更多像牛奶一样的装饰工..大豆..还有像室内混合咖啡一样的咖啡。等等。 突然顾客想用鞭子代替摩卡。

  • 问题内容: 当SQL数据类型为时间戳时,java.util.Date将存储为2010-09-03 15:33:22.246,在存储记录之前,如何将子秒设置为零(例如,本例中为246)。 问题答案: 这是一个主意: