js物件根據屬性名表示式解析成新的物件

2021-07-11 17:47:52 字數 876 閱讀 3107

如今有乙個物件

var obj =

需實現乙個函式 magic ,使magic(obj)結果如下,求解

var obj = ,

girlfriend: [,,

]}

問題引入

在使用react  ant-design做專案的過程中

使用getfiledvalues()獲取表單所用控制項的值時

對於相同的id元素只能拿到乙個值

通常通過拼接字尾的方式,提交到後台處理

上面方式雖然能達到目的,但總覺得不妥,**冗餘,不易維護

或許可以直接寫入表示式,通過某種方式來解析後直接提交給後台

貼上**,後續再補上注釋

function magic(obj) , reg = /^(\w+)(?:[`'"]?\[(\w+)\][`'"]?|\.)?((?:\w+|[`'"]?\[\w+\][`'"]?|\.)+)?$/;

const match = function (key)

throw new error("表示式不正確 " + key)

} const isnum = function (n)

function fn(obj, rt) , rt[b] = rt[b] || (isnum(c) ? : {}))

} else if (c) )

rt[b][c] = v

} else if (d) , rt[b] = rt[b] || {})

} else

}} fn(obj, result)

return result;

}

ES6 屬性名表示式

1.直接用識別符號作為屬性名 obj.fo true2.用表示式作為屬性名 obj a bc 123 相當於 obj abc 1233.es6 允許字面量定義物件時,用方法二 表示式 作為物件的屬性名,即把表示式放在方括號內。let key fo let obj var lastt last t v...

ES6學習筆記 屬性名表示式

1.直接用識別符號作為屬性名 obj.foo true 2.用表示式作為屬性名 obj a bc 123 相當於 obj abc 123 3.es6 允許字面量定義物件時,用方法二 表示式 作為物件的屬性名,即把表示式放在方括號內。let key foo let obj var lastword l...

c 解析成Cron表示式方法

using system 任務型別 開始日期 結束日期 任務執行時間 執行的條件 月計畫具體執行的日期 public static string parsecron tasktype tasktype,string startdate,string enddate,string tasktime,s...