我正在嘗試盡可能優雅地將字典決議為一行中的字串。
字串可以有 1 個到 10 個鍵值對。
我有的字典:
var dict = {
rel: 'preload',
as: 'image',
type: 'image/webp'
}
我正在嘗試將其決議為查詢字串,并將其轉換為:
return "rel='preload' as='image' type='image/webp'"
我知道使用 Object.keys 和 forEach 我可以遍歷 Dict 但是我如何在同一個陳述句中連接它呢?
這是我已經走了多遠:
Object.keys(dict).forEach(key => console.log(`${key}="${dict(key)}"`) )
我如何在同一行中連接結果?可能嗎?我一直在嘗試:
.reduce()
.push()
.concat()
.join()
但似乎無法讓它在一條線上作業。
uj5u.com熱心網友回復:
這是獲得所需結果的一種方法。
const dict = {
rel: 'preload',
as: 'image',
type: 'image/webp'
};
console.log(
Object.entries(dict)
.map(([k, v]) => (`${k}='${v}'`))
.join(' ')
);
它用
- Object.entries() - 從物件中獲取鍵值對
- .map() - 迭代鍵值對
- 反引號 ` - 將每對轉換為所需的結構
- .join() - 最終將陣列轉換為字串
uj5u.com熱心網友回復:
您可以使用reduce:
const dict = {
rel: 'preload',
as: 'image',
type: 'image/webp'
};
let result = Object.keys(dict).reduce((acc, key) => acc `${key}=${dict[key]} ` ,'');
console.log(result);
uj5u.com熱心網友回復:
此行可能對您有用:
const dict = {
rel: 'preload',
as: 'image',
type: 'image/webp'
};
const result = Object.entries(dict).map(item => `${item[0]} = '${item[1]}'`).join(' ')
console.log(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486086.html
標籤:javascript 数组 细绳 字典
上一篇:從給定的整數中洗掉重復的數字
