【发布时间】:2017-11-03 22:37:48
【问题描述】:
目标是将我的 React 组件中硬编码的数据库列名删除到配置文件中。而不是使用 data.X 它将是 data.A ,如下所示。这样,如果他们将 X 更改为其他内容,我只需要更改 X 的配置文件,然后在我的 React 组件中的任何地方它都会更新,因为 data.A 在组件中。
问题是过滤只返回数据中的最后一个对象。任何帮助将不胜感激,任何有关删除嵌套 for 循环的建议都将有助于学习。
期望的输出:
[
{
"A": 1,
"B": 2,
},
{
"A": 4,
"B": 5,
},
{
"A": 7,
"B": 8,
},
];
当前输出:
[
{
"A": 7,
"B": 8,
},
{
"A": 7,
"B": 8,
},
{
"A": 7,
"B": 8,
},
];
let data = [
{
"X": 1,
"Y": 2,
"Z": 3,
},
{
"X": 4,
"Y": 5,
"Z": 6,
},
{
"X": 7,
"Y": 8,
"Z": 9,
},
];
let keys = {
A: 'X',
B: 'Y',
};
let keyChain = {};
let cleanedData = [];
for (let key in keys) {
keyChain[key] = '';
}
for (let i in data) {
cleanedData[i] = keyChain;
for (let key in keys) {
if (keys[key] in data[i]) {
cleanedData[i][key] = data[i][keys[key]];
};
}
}
console.log(cleanedData);
【问题讨论】:
-
他的意思可能是硬编码 -)) 或手动输入
-
@Chad 你想要的输出是什么?最后你想看什么?
-
@marmeladze 已更新!
-
所以
3应该飞走。好
标签: javascript arrays ecmascript-6 filtering