Как найти свойства в массиве объекта и переместить эти объекты в другой массив объекта? - PullRequest
0 голосов
/ 13 июня 2019

Как найти свойства в массиве объекта и переместить эти объекты в другой массив объекта?Как извлечь {"comment": "value"} из this.state.comments и поместить его в объект comment в массиве comments после других объектов?Я переназначил массив и извлек значения сам - comment properties.Как извлечь весь объект так, чтобы он выглядел следующим образом {"comment:" value "}

const comment = {
        "comments": [{'comment': 'aaa'}, {'comment': 'bbb'}]
        "description": " ytytyty"
        "id": 3
        "title": "gfgfgfgfgf"
    }

this.state.comments = [
    {"comment": "eeeee"},
    {"comment": "rrrrr"},
    {"comment": "ggggg"},
    {"date: Thu Jun 13 2019 01:27:09 
      "desc": "dfdfdf"
      "comment": "hhhhhh"
    }
]

let v = this.state.comments.map(t => t.comment? t.comment : t);

 console.log(`{comment: ${v}`);

Ожидаемый эффект:

const comment = {
        "comments": [{'comment': 'aaa'}, {'comment': 'bbb'}, 
           {"comment": "eeeee"}, {"comment": "rrrrr"}, {"comment": 
           "ggggg"}, "comment": "hhhhhh"]
        "description": " ytytyty"
        "id": 3
        "title": "gfgfgfgfgf"
}

Ответы [ 3 ]

1 голос
/ 13 июня 2019

const comment = {
        comments: [{comment: 'aaa'}, {comment: 'bbb'}],
        description: " ytytyty",
        id: 3,
        title: "gfgfgfgfgf"
    }

const newComments = [
    {comment: "eeeee"},
    {comment: "rrrrr"},
    {comment: "ggggg"},
    {date: "Thu Jun 13 2019 01:27:09", 
      desc: "dfdfdf",
      comment: "hhhhhh"
    }
];

comment.comments = newComments.reduce((res,obj) => obj.comment ? [...res, {comment : obj.comment}] : res,comment.comments || [])



 console.log(comment);
1 голос
/ 13 июня 2019

const comment = {
        "comments": [{'comment': 'aaa'}, {'comment': 'bbb'}],
        "description": " ytytyty",
        "id": 3,
        "title": "gfgfgfgfgf"
    }

let newComments = [
    {"comment": "eeeee"},
    {"comment": "rrrrr"},
    {"comment": "ggggg"},
    {"date": "Thu Jun 13 2019 01:27:09", 
      "desc": "dfdfdf",
      "comment": "hhhhhh"
    }
]

newComments.forEach(t => {
  if( t.comment ) comment.comments.push({
    comment: t.comment
  })
});

 console.log(comment);
0 голосов
/ 13 июня 2019

Просто переберите каждый элемент с помощью forEach и проверьте, является ли ключ comment - если это так, нажмите на массив comments.

const comment = {"comments":[{'comment':'aaa'},{'comment':'bbb'}], "description":" ytytyty", "id":3, "title":"gfgfgfgfgf"};
const state = {comments:[{"comment":"eeeee"},{"comment":"rrrrr"},{"comment":"ggggg"},{"date":"Thu Jun 13 2019 01:27:09", "desc":"dfdfdf", "comment":"hhhhhh"}]};
state.comments.forEach(({ comment: c }) => c ? comment.comments.push({ c }) : c);
console.log(comment);
.as-console-wrapper { max-height: 100% !important; top: auto; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...