首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改数组中对象的值?

如何更改数组中对象的值?
EN

Stack Overflow用户
提问于 2022-03-21 03:29:24
回答 1查看 24关注 0票数 -2

我有一个数组对象,我想改变元素的值。

代码语言:javascript
复制
  const cardObj = [
    {
      id: randomNum(),
      cardName: "My Best Buy",
      totalCreditLine: 1000,
      currentBalance: 400,
      monthlyPayment: 100,
      dueBy: "2022-4-18"
    },
    {
      id: randomNum(),
      cardName: "Amazon",
      totalCreditLine: 2000,
      currentBalance: 1200,
      monthlyPayment: 200,
      dueBy: "2022-4-10"
    },
    {
      id: randomNum(),
      cardName: "Home Depot",
      totalCreditLine: 1500,
      currentBalance: 800,
      monthlyPayment: 300,
      dueBy: "2022-4-15"
    },
    {
      id: randomNum(),
      cardName: "Ebay",
      totalCreditLine: 500,
      currentBalance: 300,
      monthlyPayment: 100,
      dueBy: "2022-3-30"
    }
   
  ];

 const [cards, setCard] = useState([...cardObj]);

我试过了,但没有用:

代码语言:javascript
复制
  const updateDue = (card) => {
  
    cards.map((element) =>{
      if(card != undefined){
        if(element.id === card.id){
          setCard({...cards, element, cardName: 'hello' })
        }
      }
    })
    
  };

我需要帮助的代码是: setCard({...cards,元素,cardName:'hello‘})

如果元素id ===卡id将元素cardName更改为“hello”

EN

回答 1

Stack Overflow用户

发布于 2022-03-21 03:42:34

您需要更改整个数组,然后设置值。

代码语言:javascript
复制
const updateDue = (card) => {
  if (card) {
    const updatedCard = cards.map(element => {
      if (card.id === element.id) {
        return {
          ...card,
          cardName: 'hello'
        }
      } else {
        return { ...card
        }
      }
    })
    setCard(updatedCard)
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71552518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档