我如何使用字符串數組獲取對象屬性(屬性的名稱)? (在陣列的最後一個元素是物體的內屬性)Javascript:如何使用字符串數組獲取對象屬性?
見下面的代碼:
方便的方法:
let myObject = {
"property": {
"subproperty": {
"targetproperty": "Hi, We done it!"
}
}
};
let myString = "property:subproperty:targetproperty";
let parts = myString.split(":");
console.log(myObject[ parts[ 0 ] ][ parts[ 1 ] ][ parts[ 2 ] ]); // Output: "Hi, We done it!"
評估和演示方式:
let myObject = {
"property": {
"subproperty": {
"targetproperty": "Hi, We done it!"
}
}
};
let myString = "property:subproperty:targetproperty";
let parts = myString.split(":");
let code = "myObject";
for (let i = 0; i < parts.length; i++) {
code += "['" + parts[ i ] + "']";
}
code += ";";
console.log(code);
console.log(eval(code)); // Output: "Hi, We done it!"
評估和演示是惡。所以我需要一個更乾淨的方式來做到這一點。
我怎麼做它沒有EVAL和方便的工作嗎?
這個答案是去天堂! –
謝謝。這太棒了。 –