我有这个功能:
let input = {
"Apples": {
"Apples": 501.82,
"Apples_pos2": 502.61,
"Apples_pos3": 502.61,
"Apples": 502.16,
}
};
let output = Object.keys(input).reduce((acc, outerKey) => {
for (let [key, value] of Object.entries(input[outerKey])) {
acc.push([outerKey, value, key.split('_')[1]]);
}
return acc;
}, []);
console.log(output);
我需要帮助编辑它。我想要的是,如果密钥包含“_pos”,则执行 key.split,如果密钥不包含“_pos”,则保持原样。
我想要的输出是
[
["Apples", 501.82, "Apples"],
["Apples", 502.61, "pos2"],
["Apples", 502.61, "pos3"],
["Apples", 502.16, "Apples"]
]
您可以使用|| https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators#Short-circuit_evaluation处理未定义的。
let input = {
"Apples": {
"Apples": 501.82,
"Apples_pos2": 502.61,
"Apples_pos3": 502.61,
"Apples": 502.16,
}
};
let output = Object.keys(input).reduce((acc, outerKey) => {
for (let [key, value] of Object.entries(input[outerKey])) {
acc.push([outerKey, value, key.split('_')[1] || key]);
}
return acc;
}, []);
console.log(output);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)