![](/img/trans.png)
[英]How to split an array of strings & return a single object with key/value pairs
[英]Javascript: How to make array from object with key value pairs as strings?
我有一個 object,必須從中創建一個數組,其中鍵 + 值對轉換為字符串。
var obj = {'x': 1, 'y': 2, 'z':3};
我試圖將內容轉換為字符串:
var joined = Object.entries(obj ).join(' ');
"x,1 y,2 z,3"
和 arrays 的數組
var entries = Object.entries(obj);
但這並不是我所需要的
我理想的結果是
var arrayFromObject = ['x 1', 'y 2', 'z 3'];
我可能可以展平 arrays 的數組,但也許有更好的解決方案?
您可以使用.map()
、 .join()
和Object.entries()
獲得所需的 output :
Object.entries()
獲取給定對象屬性的[key, value]
對數組。.map()
遍歷第一步返回的數組值,並使用.join()
獲取所需格式的字符串。 const obj = {'x': 1, 'y': 2, 'z': 3}; const array = Object.entries(obj).map(a => a.join(' ')); console.log(array);
如果你知道你有一套 KVP,你可以做類似的事情
const obj = {'x': 1, 'y': 2, 'z':3};
const result = Object.entries(obj).map(entry => `${entry[0]} ${entry[1]}`);
//(3) ["x 1", "y 2", "z 3"]
Object.keys(obj).map(x => `${x} ${obj[x]}`)
解釋
Object.keys(obj)
返回["x", "y", "z"]
並且map
然后將每個鍵映射到模板文字${x} ${obj[x]}
其中obj[x]
是值 ( y
映射到y 2
)
const obj = {'x': 1, 'y': 2, 'z':3}; const array = Object.entries(obj).map(a => a.join(' ')); console.log(array);
您可以為所需的 output 使用 for 循環,您可以使用 map,但如果列表很大,它會產生性能問題。
let obj = { x: 1, y: 2, z: 3 }; let outputArray = []; for (let i = 0; i < Object.keys(obj).length; i++) { outputArray.push(Object.keys(obj)[i]+' '+Object.values(obj)[i]); } console.log(outputArray);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.