如何去掉输出中的“”? (Javascript)

问题描述 投票:0回答:2

通过这段代码,我想实现输出

name: Gunnar
,但我得到
{ name: 'Gunnar' }
,如何删除输出中Gunnar周围的
''

let keyName = "name";
let value = "Gunnar";

let person = {
   [keyName]: value
};

console.log(person)

我猜这与“价值”有关,但我不知道如何解决它。

javascript variables let
2个回答
1
投票

通过这段代码,我想实现输出

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]}`);

如果您不想使用

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]}`);
}

更多探索:


-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)

© www.soinside.com 2019 - 2024. All rights reserved.