只将特定数量的值推入数组

  • 本文关键字:数组 angular formarray
  • 更新时间 :
  • 英文 :


我想知道是否有可能将特定数量的值推入表单数组。我有一个以数组为参数的函数。然后计算表单字段的剩余位置。

我想检查文本数组的长度是否超过计算的剩余位置,如果是这样(例如。其余位置:5和文本数组:7)只有第一个文本值(在本例中是7的前5个)应该插入到表单中。如果不超过,我想把所有的值都压入到表单

addTextToForm(textArr: string[]): void {

let remainingPlaces = (this.maxPlaces - (this.form.get(type) as FormArray).length);
textArr.forEach(text=>{

if(textArr.length>remainingPlaces){
(this.form.get(type) as FormArray).push(this.formBuilder.control(text));
}
})
let targetArray = []; // Array you want to only ever be 3 elements long
let sourceArray = [ 1, 2, 3, 4, 5]; // The array you want to copy into the targetArray
let remainingPlaces = 3 - targetArray.length // Your calculation to work out remaining spaces
targetArray = [ ...targetArray, ...sourceArray.slice( 0, remainingPlaces ) ]; // Combine existing targetArray with the first three values of sourceArray
console.log( targetArray ); // returns [ 1, 2, 3 ]

这是没有优化或做任何检查的东西,如remainingPlaces是越界的,它只是向你大致展示如何实现这一点。

相关内容

  • 没有找到相关文章

最新更新