javascript 展平对象JavaScript

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 展平对象JavaScript相关的知识,希望对你有一定的参考价值。

// https://jsfiddle.net/L1pozdj6/
// Source: https://stackoverflow.com/questions/33036487/one-liner-to-flatten-nested-object - Webber
/**
 * Flatten a multidimensional object
 *
 * For example:
 *   {
 * "a": 1,
*  "b": {
*    "c": 2,
*    "d": {
*      "e": {
*        "f": 3
*      }
*    }
*  }
*}
* Returns:
*   {
*    "a": 1,
*    "b-c": 2,
*    "b-d-e-f": 3
*   }
 */
const flattenObject = (obj, keyold = "") => {
  const flattened = {}

  Object.keys(obj).forEach((key) => {
    if (typeof obj[key] === 'object') {
      Object.assign(flattened, flattenObject(obj[key], keyold + key + "-"))
    } else {
      flattened[keyold + key] = obj[key]
    }
  })

  return flattened
}

以上是关于javascript 展平对象JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

text 将javascript对象展平为单个深度对象

javascript 展平嵌套对象

将嵌套的 JSON 对象展平并排序到 javascript 中的数组中

在javascript中展平数组[重复]

Javascript递归数组展平

递归地展平数组(不循环)javascript