map или forEach для массива, чтобы манипулировать значением и генерировать новый массив - PullRequest
0 голосов
/ 04 марта 2019

Я типизировал formArray в массив, который содержит два элемента управления (в основном это выглядит как массив, но это итеративный объект), после чего я использую forEach для манипулирования свойством объекта и создания нового массива

(Array.from(this.createCandyPixelForm.value.urlRows)).forEach(x => {
  newArray.push(x);
  if (x['url'] == (null || ' ' || false)) {
    x['url'] = 0;
  }
})

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

После определенных экспериментов с кодом я получил ответ, который мне нужен.Может быть, я не смог правильно спросить.Итак, вот что я сделал: я создал массив из formArray «urlRows», а затем манипулировал значением свойства «httpsOnly» для всех объектов в этом массиве.

const newArray = this.createCandyPixelForm.value.urlRows;
        newArray.map(x => {
            console.log("x is", x);
            if (!x.httpsOnly) x.httpsOnly = 0;
            else x.httpsOnly = 1;
        })
0 голосов
/ 04 марта 2019

Вы можете сопоставить новые независимые объекты с newArray, проверив свойство url и заменив ложные значения на ноль

newArray = Array.from(
    this.createCandyPixelForm.value.urlRows,
    x => Object.assign({}, x, { url: x.url !== ' ' && x.url || 0 })
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...