【问题标题】:Update object property in javascript?在javascript中更新对象属性?
【发布时间】:2021-08-12 15:40:10
【问题描述】:
 const [fields, setFields] = useState({
    country: { country: "India" },
    address: { street1: "street1", street2: "street2" },
  });

这是我的目标。我想从这个对象更新一个内部属性

let id = 'street1'     
let params = { ...fields, [id]: value }; //This will add a new prop 

但我想更新地址对象内的 street1。该怎么做?

【问题讨论】:

    标签: javascript reactjs react-native ecmascript-6


    【解决方案1】:

    使用这个:

    const updatedObject = {
      ...fields,
      address: {
        ...fields.address,
        [id]: value,
      },
    };
    

    【讨论】:

      【解决方案2】:

      试试这个

      {...fields,address:{...fields.address,"street1":"abc"}}
      

      【讨论】:

      • 欢迎@JIGNESHPATEL
      【解决方案3】:
      let userAddress = {
          country: { country: "India" },
          address: { street1: "street1", street2: "street2" },
      };
      

      我认为情况是更新嵌套对象的值,在本例中为 street1。

      使用 ES6 的最佳方法是解构和更新值。

      userAddress = {
          ...userAddress,
          address: { ...state.address, street1: newValue },
      };
      

      【讨论】:

        猜你喜欢
        • 2012-03-16
        • 2016-07-13
        • 2019-05-02
        • 1970-01-01
        • 2021-08-07
        • 2016-12-19
        • 2013-01-18
        • 2017-09-11
        • 2012-09-14
        相关资源
        最近更新 更多