提问人:Matilda123 提问时间:10/17/2023 最后编辑:KonradMatilda123 更新时间:10/17/2023 访问量:75
如何去除输出中的“”?(Javascript的)
How do i get rid of "" in output? (Javascript)
问:
使用此代码,我想实现输出,但我得到了,如何删除输出中的 Gunnar?name: Gunnar
{ name: 'Gunnar' }
''
let keyName = "name";
let value = "Gunnar";
let person = {
[keyName]: value
};
console.log(person)
我猜它与“价值”有关,但我不知道如何解决它。
答:
-2赞
Konrad
10/17/2023
#1
您可以覆盖,以便在打印时将其删除console.log
"
const oldLog = console.log
const logger = (...args) => oldLog(args.map(arg => typeof arg === 'object' ? JSON.stringify(arg, null, 4).replace(/"/g, '') : arg).join(''))
console.log = logger
let keyName = "name";
let value = "Gunnar";
let person = {
[keyName]: value,
};
console.log(person)
4赞
T.J. Crowder
#2
使用此代码,我想实现输出,但我得到,如何删除输出中的周围?
name: Gunnar
{ name: 'Gunnar' }
''
Gunnar
您的代码使用 输出一个对象。console.log
函数将以标准格式输出它,以便在您的环境中输出对象。代码中的任何内容都不是为了创建所需的输出而设计的。console.log
如果你想要输出,那么你需要改变你的语句,以便你输出该文本,而不是告诉它输出一个对象,例如:name: Gunnar
console.log
console.log(`${keyName}: ${value}`);
let keyName = "name";
let value = "Gunnar";
// No need for this:
// let person = {
// [keyName]: value
// };
console.log(`${keyName}: ${value}`);
如果你需要成为你的起点,但你仍然可以访问 ,那么你可以通过动态属性访问来实现,如下所示:person
keyName
console.log(`${keyName}: ${person[keyName]}`);
let keyName = "name";
let value = "Gunnar";
let person = {
[keyName]: value
};
console.log(`${keyName}: ${person[keyName]}`);
如果您不想使用 or ,则不清楚您要做什么。也许您想为每个属性输出多行:keyName
value
for (const key in person) {
console.log(`${key}: ${person[key]}`);
}
let keyName = "name";
let value = "Gunnar";
let keyName2 = "age";
let value2 = 42;
let person = {
[keyName]: value,
[keyName2]: value2,
};
for (const key in person) {
console.log(`${key}: ${person[key]}`);
}
或者,也许你期望一个对象只有一个属性(尽管在不知道属性名称是什么的情况下这样做通常不是很好的做法):
const firstKey = Object.keys(person)[0];
if (firstKey) {
console.log(`${firstKey}: ${person[firstKey]}`);
}
let keyName = "name";
let value = "Gunnar";
let person = {
[keyName]: value
};
const firstKey = Object.keys(person)[0];
if (firstKey) {
console.log(`${firstKey}: ${person[firstKey]}`);
}
更多探索:
评论
"