日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JS实现对象扁平化

發(fā)布時(shí)間:2024/3/13 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS实现对象扁平化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)現(xiàn)代碼:

function flat(obj) {

? ? ? ? ? ? var newObj = {}

? ? ? ? ? ? function format(o, pre) {

? ? ? ? ? ? ? ? for (let key in o) {

? ? ? ? ? ? ? ? ? ? if (typeof o[key] === 'object') {

? ? ? ? ? ? ? ? ? ? ? ? if (!pre) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? format(o[key], key)

? ? ? ? ? ? ? ? ? ? ? ? }else {

? ? ? ? ? ? ? ? ? ? ? ? ? ? if (Array.isArray(o)) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? format(o[key], pre + '[' + key + ']')

? ? ? ? ? ? ? ? ? ? ? ? ? ? }else {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? format(o[key], pre + '.' + key)

? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? }else {

? ? ? ? ? ? ? ? ? ? ? ? if (!pre) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? newObj[key] = o[key]

? ? ? ? ? ? ? ? ? ? ? ? }else {

? ? ? ? ? ? ? ? ? ? ? ? ? ? if (Array.isArray(o)) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? newObj[pre + '[' + key + ']'] = o[key]

? ? ? ? ? ? ? ? ? ? ? ? ? ? }else {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? newObj[pre + '.' + key] = o[key]

? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? format(obj, null)

? ? ? ? ? ? return newObj

? ? ? ? }

console.log(flat({

? ? ? ? ? ? a: 6,

? ? ? ? ? ? b: {

? ? ? ? ? ? ? ? b: 2,

? ? ? ? ? ? ? ? c: 5,

? ? ? ? ? ? ? ? d: {e: 9}

? ? ? ? ? ? ? ?},

? ? ? ? ? ? c: [1, 2, {f: 3, g: 4}],

? ? ? ? }) )

打印結(jié)果:

?

總結(jié)

以上是生活随笔為你收集整理的JS实现对象扁平化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。