function flatten(obj) {
let result = {};
let process = (key, value) => {
// 首先判断是基础数据类型还是引用数据类型
if (Object(value) !== value) {
// 基础数据类型
if (key) {
result[key] = value;
}
} else if (Array.isArray(value)) {
for (let i = 0; i < value.length; i++) {
process(`${key}[${i}]`, value[i])
}
if (value.length === 0) {
result[key] = [];
}
} else {
let objArr = Object.keys(value);
objArr.forEach(item => {
process(key ? `${key}.${item}` : `${item}`, value[item])
});
if (objArr.length === 0 && key) {
result[key] =
自定义flatten方法实现对象扁平化
最新推荐文章于 2024-07-26 20:46:33 发布