javascript - 如何获取位于其他对象内部的对象的值
问题描述
我不是 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>';
解决方案
没什么难的,你没有使用语法在对象中传递数据,你需要使用这种东西:
const obj = {
obj1: {
a: 1
}
};
console.log(obj["obj1"]?.a);
这是一个例子,这就是你在第 30 行的情况
releaseTableHTML +='<tr><td>'+ person[nameList[rowCount]]?.name+'</td><td>'+
问题是您可以使用 [] 和内部字符串访问对象内部的属性,这里的字符串是具有此语法 arr[] 的数组的结果,因此您想要这样的东西-> obj[arr[]]
推荐阅读
- android - Dart/Flutter App 仅在模拟器中关闭和重新打开时抛出异常
- r - 给定此属性,如何使用 R 生成正交拉丁方?
- azure - Azure 逻辑 - 网关错误
- javascript - 在 React 应用中从 babel-polyfill 切换到 core-js
- c++ - Boost 1.73 日志库回归
- java - 如何从 Settings Activity 修改 MainActivity 上的数据?
- javascript - 我需要 three.js.master 文件夹才能使用 OBJLoader2.js 吗?404 未找到
- javascript - Javascript函数和常量数组
- javascript - 如何使用Javascript将列表项移动到无序列表中的指定索引(位置)
- c - 函数原型范围的实际应用或价值