我将formArray转换为一个包含两个控件的数组(基本上看起来像数组,但是它是一个可迭代的对象),之后我在其上使用forEach
来操纵对象属性并生成一个新数组
(Array.from(this.createCandyPixelForm.value.urlRows)).forEach(x => {
newArray.push(x);
if (x['url'] == (null || ' ' || false)) {
x['url'] = 0;
}
})
答案 0 :(得分:2)
您可以将新的独立对象映射到newArray
,并检查url
属性并将伪造的值替换为零
newArray = Array.from(
this.createCandyPixelForm.value.urlRows,
x => Object.assign({}, x, { url: x.url !== ' ' && x.url || 0 })
);
答案 1 :(得分:-1)
在对代码进行了某些实验之后,我得到了想要的答案。也许我无法正确询问。所以这就是我所做的: 我从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;
})