我想創建一個函數,它將使用多個變量來選擇正確的嵌套對象,然後能夠操縱它。如何使用方括號表示法使用多個變量調用嵌套對象?
var group1 = {
fred: {
debt: 5,
income: 2
},
suzy: {
debt: 3,
income: 5
}
},
group2 = {
molly: {
debt: 4,
income: 4
},
jason: {
debt: 6,
income: 1
}
};
function debtCheck(group, name) {
console.log(group.name.debt); ==>Uncaught TypeError: Cannot read property 'debt' of undefined
console.log(group[name].debt); ==>Uncaught TypeError: Cannot read property 'debt' of undefined
console.log([group][name].debt); ==>Uncaught TypeError: Cannot read property 'debt' of undefined
console.log([group[name]].debt); ==>undefined
}
debtCheck('group1', 'fred');
目標是讓它在控制檯中顯示5。如果我只做一個變量,它工作正常。
function debtCheck(name) {
console.log(group1[name].debt);
}
debtCheck('fred');
希望我明確表達了我的要求。謝謝您的幫助!
我對它有過的其他想法: 基礎對象是不是變量?或者你不能在一行中有兩個變量?
把你的'group1','group2'等變量到另一個物體,就像你怎麼會有'fred'和'group1'內'suzy'。 –
您將第一個參數作爲字符串而不是對象傳遞。試試'債務檢查(group1,'fred');'。另外,由於第二個參數應該是一個字符串,您需要通過group [name] .debt來訪問它。 –
@JasonCust你應該做出這個答案。 – Pavlo