JS:将数组对象转换为点字符串

塔哈额尔古纳

我在数组中嵌套了对象,我想使用 javascript 将它们转换为点符号字符串。

这是我用于转换过程的数据示例数据。

[
  {
    property: 'name',
    children: [],
    message: 'name should not be empty',
  },
  {
    property: 'priceForm',
    children: [
      {
        property: 'priceCurrency',
        children: [],
        message: 'priceCurrency should not be empty',
      },
    ],
  },
  {
    property: 'priceForm',
    children: [
      {
        property: 'rolePrices',
        children: [
          {
            property: '0',
            children: [
              {
                property: 'markupType',
                children: [],
                message: 'markupType should not be empty',
              },
            ],
          },
        ],
      },
    ],
  },
]

预期结果是

{
  'name': 'name should not be empty',
  'priceForm.priceCurrency': 'priceCurrency should not be empty',
  'priceForm.rolePrices.0.markupType': 'markupType should not be empty',
}
尼娜·舒尔茨

您可以先收集路径,然后再构建属性。

function getObject(array, path = '', target = {}) {
    array.forEach(({ property, children = [], message }) => {
        var temp = path + (path && '.') + property;
        if (children.length) {
            getObject(children, temp, target);
            return;
        }
        target[temp] = message;
    });
    return target;   
}

var array = [{ property: 'name', children: [], message: 'name should not be empty' }, { property: 'priceForm', children: [{ property: 'priceCurrency', children: [], message: 'priceCurrency should not be empty' }] }, { property: 'priceForm', children: [{ property: 'rolePrices', children: [{ property: '0', children: [{ property: 'markupType', children: [], message: 'markupType should not be empty' }] }] }] }],
    object = getObject(array);
    
console.log(object);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将逗号或点字符串转换为单个

来自分类Dev

将字符串数组转换为对象数组

来自分类Dev

Ruby将字符串数组转换为数组对象

来自分类Dev

将Whois返回的字符串转换为对象或数组

来自分类Dev

将字符串数组转换为键值对对象

来自分类Dev

将字符串转换为数组中的日期对象

来自分类Dev

将JSON对象数组转换为字符串

来自分类Dev

将字符串编码的数组转换为对象

来自分类Dev

将字符串数组转换为对象Javascript

来自分类Dev

将字符串数组转换为JAVASCRIPT对象

来自分类Dev

将坐标对字符串转换为对象数组

来自分类Dev

如何将字符串转换为对象数组?

来自分类Dev

Javascript将字符串转换为对象(列表/数组)

来自分类Dev

将字符串转换为数组中的日期对象

来自分类Dev

将包含对象的数组转换为字符串

来自分类Dev

将Whois返回的字符串转换为对象或数组

来自分类Dev

将字符串转换为JavaScript中的对象数组

来自分类Dev

将数组对象转换为字符串值

来自分类Dev

将字符串/整数转换为对象数组

来自分类Dev

Java:将字符串数组转换为对象

来自分类Dev

Javascript:将字符串转换为对象数组?

来自分类Dev

如何将字符串转换为对象数组

来自分类Dev

如何将字符串数组转换为对象

来自分类Dev

通过拆分字符串将字符串数组转换为对象数组

来自分类Dev

JS将字符串转换为多维对象键

来自分类Dev

JS将字符串转换为多维对象键

来自分类Dev

将 JSON 字符串转换为 JS 对象

来自分类Dev

将字符串转换为js数组

来自分类Dev

JS数组-将字符串转换为密钥