首页 > 解决方案 > 如何获取位于其他对象内部的对象的值

问题描述

我不是 JavaScript 背景,但在使用 JavaScript 时有一个小要求。

我正在尝试获取包含在另一个对象中的对象内部的值,我已经编写了代码,但出现了错误。下面是我的代码,我确定我犯了错误,或者可能是语法不正确但无法解决问题。

这是具有虚拟值的代码的副本,任何人都可以帮助我并解决我做错的地方。

            const nameList = [
                'XYZ',
                'ABC',
                'PQR'
            ];

            var person = {
                XYZ: {
                    name: 'XYZ',
                    age: 30
                },
                ABC: {
                    name: 'ABC',
                    age: 40
                },
                PQR: {
                    name: 'PQR',
                    age: 50
                }
            };

            var rowCount = 0;
            var releaseTableHTML = '';
            releaseTableHTML +='<table><thead>Just Testing</thead><tbody><tr><th>Name</th><th>Age</th></tr>';
            while (nameList.length > rowCount) {
                releaseTableHTML +='<tr><td>'+ person.nameList[rowCount].name+'</td><td>'+ 
                person.nameList[rowCount].age+'</td></tr>';
                rowCount++;        
            }
            releaseTableHTML +='</tbody></table>';

在此处输入图像描述

标签: javascripthtml

解决方案


没什么难的,你没有使用语法在对象中传递数据,你需要使用这种东西:

const obj = {
  obj1: {
    a: 1
  }
};

console.log(obj["obj1"]?.a);

这是一个例子,这就是你在第 30 行的情况

releaseTableHTML +='<tr><td>'+ person[nameList[rowCount]]?.name+'</td><td>'+ 

问题是您可以使用 [] 和内部字符串访问对象内部的属性,这里的字符串是具有此语法 arr[] 的数组的结果,因此您想要这样的东西-> obj[arr[]]


推荐阅读