我有一個這樣的物件:
const obj = {a: {x: 0, y: 0}}
這也可能是:
const obj = {a: {x: 0, y: 0}, b: {x: 10, y: 3}, abcd: {x: -1, y: 0}}
因此,obj可以有多個鍵并帶有變數鍵名。我需要x用${x}%這樣的字串替換每個值,以便x值 百分比符號。
我怎樣才能做到這一點?
預期的結果應該是:
const obj = {a: {x: 0, y: 0}} // {a: {x: '0%', y: 0}}
const obj = {a: {x: 0, y: 0}, b: {x: 10, y: 3}, abcd: {x: -1, y: 0}} // {a: {x: '0%', y: 0}, b: {x: '10%', y: 3}, abcd: {x: '-1%', y: 0}}
我嘗試回圈物件,但我不知道是否有最聰明的解決方案
uj5u.com熱心網友回復:
您可以獲得物件鍵的陣列,然后使用forEach,它是一種為陣列的每個元素執行提供的函式的方法(這里 - 對于每個物件鍵):
Object.keys(obj).forEach(el => obj[el].x = `${obj[el].x}%`)
uj5u.com熱心網友回復:
const obj = {a: {x: 0, y: 0}, b: {x: 10, y: 3}, abcd: {x: -1, y: 0}}
let result = Object.fromEntries(Object.entries(obj).map(([k,v]) => {
return [k,{...v,x:`${v.x}%`}]
}))
console.log(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/359954.html
標籤:javascript
