Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Развернуть объекта в плоский. На входе объект, сепаратор и глубина развертывания
- */
- const data = {
- foo: 1,
- bar: {
- bla: 2,
- coo: 3,
- doo: {
- soo: 4,
- aaa: {
- sss: {
- s: 1
- }
- }
- }
- },
- bbbb: [1,2,3]
- }
- const flattenObject = function(ob, sep, depth) {
- var result = {};
- if (!sep) sep = '.';
- for (var i in ob) {
- let item = ob[i]
- let isObject = typeof ob[i] == 'object';
- let isArray = Array.isArray(item);
- if (isObject && !isArray && depth !== 0) {
- if (depth) depth--;
- var flatObject = flattenObject(item, sep, depth);
- for (var x in flatObject) {
- result[i + sep + x] = flatObject[x];
- }
- } else {
- result[i] = item;
- }
- }
- return result;
- };
- let a = flattenObject(data, '.', 3)
- console.log(a)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement