我想使用 JSON 并將所有ID添加到一個字串中,但我遇到了一些麻煩。我對使用 JSON 物件還很陌生,所以如果您有任何想法,請解釋它是如何作業的。
我想轉換這個:
let users = [
{"id":"24317318904217xxxx","name":"person 1"},
{"id":"69336408842371xxxx","name":"person 2"}
]
var str = `ID\'s `
對于這樣的事情:
`ID's: <@24317318904217xxxx>, <@69336408842371xxxx>`
提前致謝!
uj5u.com熱心網友回復:
您可以使用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)
uj5u.com熱心網友回復:
當您不熟悉 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 個物件(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
對方的回答用途map和join您可以閱讀更多有關在陣列MDN文章。我強烈建議你閱讀它,因為 Javascript 代碼經常使用這些函式,但可能需要讓那些只撰寫迭代代碼的人習慣。
如果您有任何其他問題,請隨時在評論中提問!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/367804.html
標籤:javascript json 不和谐
