Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数据从Javascript对象转换为字符串_Javascript - Fatal编程技术网

如何将数据从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: