如何将数据从Javascript对象转换为字符串
我有如下数据:如何将数据从Javascript对象转换为字符串,javascript,Javascript,我有如下数据: var data = {status: "OK", address11: 0.2, address12: 0.3} 我想要这个字符串: 转移成功!你把:0.2转到地址11,0.3转到地址12 我如何有效地做到这一点 我有这个: var a = 'Transfer Successful! You transferred:' for (const key of Object.keys(data)) {a.concat(`${data[key]} to ${key}`)} 但它只追
var data = {status: "OK", address11: 0.2, address12: 0.3}
我想要这个字符串:
转移成功!你把:0.2转到地址11,0.3转到地址12
我如何有效地做到这一点
我有这个:
var a = 'Transfer Successful! You transferred:'
for (const key of Object.keys(data)) {a.concat(`${data[key]} to ${key}`)}
但它只追加最后一个键/值对 只需使用
+=
运算符即可将字符串附加到另一个字符串
此外,还必须从对象中删除第一个关键点。为此,可以使用应用于键的
数组的切片
方法
keys = Object.keys(data).slice(1);
使用+=
提高性能,因为它比concat
快
MDN有以下内容:
强烈建议使用字符串连接运算符
(+,+=)因性能原因而替代此方法
var数据={状态:“正常”,地址11:0.2,地址12:0.3}
var a='传输成功!你调职了:';
keys=Object.keys(数据).slice(1);
对于(键的常量键){a+=`data[key]}到${key}}
控制台日志(a)代码>您可以通过循环完成:
var txt = 'Transfer Successful! You transferred';
var first = true;
for (var key in data) {
if (key !== "status") {
first ? (first = false) : (txt += ", ");
txt += data[key] + " " + key;
}
}
您需要将这个a.concat('${data[key]}到${key}'
存储到变量a
a = a.concat(`${data[key]} to ${key}`
并避开键状态
var数据={
状态:“OK”,
地址11:0.2,
地址12:0.3
}
var a='传输成功!您传输了:';
for(对象的常量键。键(数据)){
如果(键=='status')继续
a=a.concat(`${data[key]}到${key}`)
}
console.log(a)
我会以不同的方式设置数据对象,因此您不必依赖属性名称来了解它是“状态”还是某个传输地址。将传输存储在数组中也可以保证它们的顺序,这可能很重要,也可能不重要
var数据={
状态:“OK”,
转让:[{
致:“地址11”,
金额:0.2
},{
致:“地址12”,
金额:0.3
}]
};
var a=“传输成功!您将”+data.transfers.map(t=>t.amount+”传输到“+t.to.join”(,”);
console.log(a);
字符串是不可变的。您需要追加。可能的重复项只是缺少赋值:a=a.concat(“要添加的内容”);
(或a+=“要添加的内容”;
)。concat
返回一个新字符串,它不(也不能)返回一个新字符串更改调用它的字符串。第一个停止总是一个好的引用,例如MDN: