2016-10-24 4 views
0

あなたはどうですか?よく私は、私はこのコードオブジェクトの宣言で変数にアクセスする

// Setup 
var collection = { 
    "5439": { 
     "album": "ABBA Gold" 
    } 
}; 


// Only change code below this line 
function updateRecords(id, prop, value) { 

    if(!collection[id].hasOwnProperty(prop) && value !== ""){ 
    collection[id] = { 
     prop: value 
    }; 
    } 
    return collection; 
} 



// Alter values below to test your code 
updateRecords(5439, "artist", "ABBA"); 

機能updateRecordsにフォーカスを持っている:)

を願っています。

私はオブジェクトの宣言でmy関数の値propにアクセスします。しかし、宣言内の小道具の価値は、文字列のような小道具です。どうすれば変更できますか?

これは後に、私は、文字列のような小道具たくないコード

var collection = { 
    "5439": { 
     prop: "ABBA" 

    } 
}; 

を実行するコレクションです。私は、変数の値は、オブジェクトのプロパティを設定する関数に引数で

答えて

3

を送る場合は、この操作を行います。問題はprop: "ABBA"ある

collection[id][prop] = value; 
1

を文字通りpropない変数小道具を取っています。変更:

function updateRecords(id, prop, value) { 

    if(!collection[id].hasOwnProperty(prop) && value !== ""){ 
    collection[id][prop] = value; 
    } 
    return collection; 
} 

これは、ターゲットプロパティを更新するのではなく、オブジェクト全体を上書きするという別の問題も解決します。