繁体   English   中英

如何将所有 js 数组对象添加到一个字符串?

[英]how do i add all js array objects to one string?

我想使用 JSON 并将所有ID添加到一个字符串中,但我遇到了一些麻烦。 我对使用 JSON 对象相当陌生,所以如果您有任何想法,请解释它是如何工作的。

我想转换这个:

let users = [
  {"id":"24317318904217xxxx","name":"person 1"},
  {"id":"69336408842371xxxx","name":"person 2"}
]

var str = `ID\'s `

对于这样的事情:

`ID's: <@24317318904217xxxx>, <@69336408842371xxxx>`

提前致谢!

您可以使用 javascript 中的map()方法来创建此结构。

基本上,您使用模板字符串创建一个字符串,然后将其推送到您的数组变量中并对其进行修改。

1 - 使用您的数据创建一个数组

str = users.map(user => `@${user.id}`)

2 - 将“ID”文本添加到变量中并使用join()方法将数据转换为字符串

str = `ID\s ${str.join(', ')}`

有一个美好而富有成效的一天!

完整代码:

 let users = [{ "id": "24317318904217xxxx", "name": "person 1" }, { "id": "69336408842371xxxx", "name": "person 2" } ] str = users.map(user => `<@${user.id}>`) str = `ID\s ${str.join(', ')}` console.log(str)

当您是 JS 新手时,您可以开始使用简单的 for 循环遍历 users 数组,如下所示:

let users = [
  {"id":"24317318904217xxxx","name":"person 1"},
  {"id":"69336408842371xxxx","name":"person 2"}
]

let str = "ID's: ";

for (let i = 0; i < users.length; i++) {
    str += `<@${users[i].id}>`;
    if (i < users.length - 1)
        str += ", ";
}

要访问数组中的第 i 个 object(0 索引),请使用users[i]

要访问对象的“id”属性,只需使用object.id 与名称和所有其他属性相同。

阅读更多: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object

字符串连接对您来说可能看起来有点奇怪,它是一个字符串模板,请参阅: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

另一个答案使用mapjoin ,您可以在阵列 mdn 文章中阅读更多信息。 我强烈建议您阅读它,因为 Javascript 代码经常使用这些功能,但对于只编写过迭代代码的人来说可能需要习惯。

如果您有任何其他问题,请随时在评论中提问!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM