如何将字符对象转换为字符串

时间:2018-02-08 21:52:32

标签: javascript angularjs

我得到了这个角色的对象:

Resource {0: "-", 1: "-", 2: "-", 3: "-",  4: "-", 5: "B", 6: "E", 7: "G", 8: "I", 9: "N", 10: " ", 11: "C", 12: "E", 13: "R", 14: "T", 15: "I", .... }

并希望将其转换为此

-----BEGIN CERTIFICATE-----
MIIDDTCCAfWgAwIBAgIRAIOTT79H7EtIvqOFiuaLtgAwDQYJKoZIhvcNAQELBQAw
QjEfMB0GA1UECgwWdGVzdC1qcGhhbS51bml0eWRldi5pbzEfMB0GA1UEAwwWdGVz
dC1qcGhhbS51bml0eWRldi5pbzAeFw0xODAyMDcyMTQxNTBaFw0yODAyMDYyMTQx
NTBaMEIxHzAdBgNVBAoMFnRlc3QtanBoYW0udW5pdHlkZXYuaW8xHzAdBgNVBAMM
FnRlc3QtanBoYW0udW5pdHlkZXYuaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDJX/QhNgAE2ehS/KhE+j81gwRKbgLbyPy9mhQbYI4e0ZCIufINksjK
AvQVi8/lQ4GAUSHND1/R8K0/oQCA9Z0+hc3Sp+gi7HmuDt63Pt899VH0BiIj7Dr1
wxC2h1ZshwqfMrT22R3nQFNjJ3AkSZFGuUsQqK4UIraRUvdkJFU61Vh/RN8zuTfX
it0uPS0KvXJlJA/XUfKq5P8UsPMdzDCoALU+QF3GrsB0GEwqAjhAjIqDdNyyZyUl
dUG3YrSc70Gmzyt9v7gygahBz6TrTF6qTiLm1x9J6SNLhbZde1RcRJ4FkLD4vHZO
0xGJ6wAIiL6gsOfLxDkDs9pLmmUBsdUJAgMBAAEwDQYJKoZIhvcNAQELBQADggEB
AL23ZqPWrhssRdvz1WrWDN0QrE5yufoFgWJq44te6PLFr1zsyZ/ICDgvu9ykWQUe
ltVQRnhM22GPGmLv6KXYySLQGFyOz51idDuExq1FuF1rLwiZk2VZvy36N0Y0lcIR
VjYTDR7klOGpIeEtnnKrHo2MSMWko/z099WOU9d0Lh8h1QT6WFuS22Kj+UZN9fo5
yWNH/c8ME1f8NByodDNt+xdEZCv7lmGODi+osiQsyTm9J9+YH7aWJqP4q+5s4TFa
mEobuu9zAbqWuehYD5qxfDPLxlRtOeByYHFU+O6/8K0Rsmb0yeSi47q6nS/Sv25/
ftrxe2bjOuaVPHEyYpgnxA4=
-----END CERTIFICATE-----

这是证书。有没有办法在javascript中执行此操作 谢谢 -k

3 个答案:

答案 0 :(得分:0)

你的角色对象已经几乎一个数组。它有数字索引,但缺少.length属性。如果你添加它,它将是一个“数组类似”对象,然后可以将其传递给Array.from以获得正确的数组。

一旦你有一个真正的数组,你需要做的就是重建字符串就是使用空字符串连接数组:

const obj = {0: "-", 1: "-", 2: "-", 3: "-",  4: "-", 5: "B", 6: "E", 7: "G", 8: "I", 9: "N", 10: " ", 11: "C", 12: "E", 13: "R", 14: "T", 15: "I"};

// Needs a length key to turn it into an "array-like":
obj.length = Object.keys(obj).length;
console.log(Array.from(obj).join(""));

答案 1 :(得分:0)

您可以将对象分配给数组并将其连接为字符串。

var resource = { 0: "-", 1: "-", 2: "-", 3: "-",  4: "-", 5: "B", 6: "E", 7: "G", 8: "I", 9: "N", 10: " ", 11: "C", 12: "E", 13: "R", 14: "T", 15: "I" },
    string = Object.assign([], resource).join('');

console.log(string);

答案 2 :(得分:0)

Object.keys抓取哈希中的所有键,你可以.map()将所有键映射到你个人定义的函数

var someString =""
var resource = {0: "-", 1: "-", 2: "-", 3: "-",  4: "-", 5: "B", 6: "E", 7: 
"G", 8: "I", 9: "N", 10: " ", 11: "C", 12: "E", 13: "R", 14: "T", 15: "I" }
Object.keys(a).map(function(item){ 
    someString = someString + resource[item]
})
someString;