簡體   English   中英

更新關聯數組中每個項目的值

[英]update value of each item in associative array

我有一個JavaScript關聯數組,說:

var myArray = new Object();
myArray["id1"] = "completed";
myArray["id2"] = "notCompleted";
myArray["id3"] = "started";

如何更新此數組中每個項目的值,以便輸出應為:

myArray["id1"] = "newValue";
myArray["id2"] = "newValue";
myArray["id3"] = "newValue";

使用Object.keys()獲取所有屬性名稱數組,然后使用Array#forEach方法遍歷它們,更新屬性值。

 var myArray = new Object(); myArray["id1"] = "completed"; myArray["id2"] = "notCompleted"; myArray["id3"] = "started"; Object.keys(myArray).forEach(function(k) { myArray[k] = 'newVal'; }); console.log(myArray); 


使用while循環的更快方法。

 var myArray = new Object(); myArray["id1"] = "completed"; myArray["id2"] = "notCompleted"; myArray["id3"] = "started"; var names = Object.keys(myArray), i = names.length; while (i--) { myArray[names[i]] = 'newVal'; }; console.log(myArray); 

  • 用於循環
  • 始終建議使用hasOwnProperty來僅在非繼承屬性上進行迭代。

 var myArray = new Object(); myArray["id1"] = "completed"; myArray["id2"] = "notCompleted"; myArray["id3"] = "started"; for (var prop in myArray) { if (myArray.hasOwnProperty(prop)) { myArray[prop] = 'newValue'; } } console.log(myArray); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM