簡體   English   中英

將值分配給 Object.values(object)[i] 不起作用

[英]Assigning value to Object.values(object)[i] not working

我正在保存一個 object,但后來當我添加新值時它返回未定義。 我試圖將任何未定義的值設置為初始值,但未成功。 我已經嘗試將它分配給一個固定值,但它也不起作用,我不知道問題的原因。

let initalObject = {
   keyOne: true,
   keyTwo: "string",
   keyThree: 0,
}

let object = {
   keyOne: true,
   keyTwo: "string",
}

for (i = 0; i != Object.keys(initalObject).length; i++) {
   if (Object.values(object)[i] == undefined) {
      Object.values(object)[i] = Object.values(initalObject)[i];
   }
}

謝謝!

您的代碼不起作用的原因是Object.values(object)本身不是object ,而是一個值數組。 您需要直接使用其鍵訪問object的值。

 let initalObject = { keyOne: true, keyTwo: "string", keyThree: 0, } let object = { keyOne: true, keyTwo: "string", } const keys = Object.keys(initalObject); for (key of keys) { if (object[key] === undefined) { object[key] = initalObject[key]; } } console.log(object);

您可以使用for in循環實現相同的目的。

 let initialObject = { keyOne: true, keyTwo: "string", keyThree: 0, } let object = { keyOne: true, keyTwo: "string", } for (let key in initialObject) { if (.object[key]) { object[key] = initialObject[key] } } console.log(object)

暫無
暫無

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

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