Страницы

Поиск по вопросам

вторник, 17 декабря 2019 г.

Объединить объекты в массиве по заданному признаку

#javascript #массивы


Имеется массив из объектов. как можно объединить несколько из них, если у них есть
один общий признак (одинаковое свойство)?
К примеру есть массив:

[
  {
      "Text": "Прочие дебиторы",
      "Value": "237528"
  },
  {
      "Text": "=",
      "Operation": true
  },
  {
      "Text": "(",
      "Operation": true
  }
];


У двух элементов массива есть одно общее свойство Operaion: true.
на выходе нужно получить:

[
  {
      "Text": "Прочие дебиторы",
      "Value": "237528"
  },
  {
      "Text": "=(",
      "Operation": true
  }
]

    


Ответы

Ответ 1



var arr = [ {'Text': 'Прочие дебиторы', 'Value': '237528'}, {'Text': '=', 'Operation': true}, {'Text': '(','Operation': true} ]; var data = arr.filter(t => t['Operation'] !== true); data.push( { 'Text': arr.map(e => e['Operation'] === true ? e['Text'] : '').join(''), 'Operation': true } ); console.log(data);

Комментариев нет:

Отправить комментарий