将对象数组转换为单个字符串,并将其推入相同的数组

时间:2018-10-26 07:21:49

标签: angular typescript

我的数组格式如下所示:-

questionValue = {
  others: [{
      inputValue: [{
        FormTypeValueArrayValue: [
          {
            form_type_value: "a"
          }, {
            form_type_value: "b"
          }, {
            form_type_value: "c"
          }, {
            form_type_value: "d"
          }
        ]
      }]

    },
    {
      inputValue: [{
        FormTypeValueArrayValue: [
          {
            form_type_value: "a"
          }, {
            form_type_value: "b"
          }, {
            form_type_value: "c"
          }, {
            form_type_value: "d"
          }
        ]
      }]
    }
  ]
}

但是此类型的必需格式:-

questionLevel = {
  others: [{
    question: "",
    form_type_value: "a,b,c"
  } {
    question: "",
    form_type_value: "d,e,f"
  }],
}

我有不断重复的数组,所以在每个数组中我都需要form_type_value的简单字符串,但要尊重数组

2 个答案:

答案 0 :(得分:0)

array_walk()

您可以尝试

答案 1 :(得分:0)

您可以尝试以下解决方案:请注意,您不需要循环,但是函数调用中有循环,只是您看不到它们。它们是语言级别的。这些解决方案称为功能性解决方案。

var questionValue = {
  others: [{
      inputValue: [{
        FormTypeValueArrayValue: [
          {
            form_type_value: "a"
          }, {
            form_type_value: "b"
          }, {
            form_type_value: "c"
          }, {
            form_type_value: "d"
          }
        ]
      }]

    },
    {
      inputValue: [{
        FormTypeValueArrayValue: [
          {
            form_type_value: "a"
          }, {
            form_type_value: "b"
          }, {
            form_type_value: "c"
          }, {
            form_type_value: "d"
          }
        ]
      }]
    }
  ]
}


var questionLevel = {};
questionLevel.others = questionValue.others.map((v) => {
                return { question: "", form_type_value: v.inputValue.map(innerValue => 
                innerValue.
                FormTypeValueArrayValue.map
                (obj => obj.form_type_value).join(','))};
});

console.log(questionLevel);