js對象如何用變量作為屬性名(鍵值)

剛做小程序的過程中遇到一個小問題,使用setData更新數據時,想修改一個數組中的某個值,setData的參數是傳入一個對象,我只想修改數組中某一條數據,那我就得傳入一個帶數組key的屬性名進去

最開始我想當然的定一個變量傳入進去

var keyname = 'buyAttr.attr[' + key + '].active';
this.setData({keyname:active})

然而發現并沒有修改成功,最后查了下資料,原來keyname直接被作為屬性名了,我們需要給屬性名加上中括號,才能被識別為變量

var keyname = 'buyAttr.attr[' + key + '].active';
this.setData({[keyname]:active})

也可以直接

this.setData({['buyAttr.attr[' + key + '].active']:active})

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 工廠模式類似于現實生活中的工廠可以產生大量相似的商品,去做同樣的事情,實現同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,827評論 2 17
  • title: js面向對象date: 2017年8月17日 18:58:05updated: 2017年8月27日...
    lu900618閱讀 581評論 0 2
  • 新生兒嬌嫩脆弱因此他們的喂養可有不少講究。在新生兒出生以后的頭六個月里,他們消化代謝器官的發育和功能尚不完善,處在...
    恰是逝水流年閱讀 380評論 0 1
  • 《漢語成語大辭典》中對“失敗乃成功之母”是這樣解釋的:母,先導。它指人唯有善于從失敗中吸取經驗教訓,才能獲得成功。...
    眉飛色舞07閱讀 494評論 35 10