首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在另一个formArray中迭代字符串数组的formArray?

在另一个formArray中迭代字符串数组的formArray可以通过以下步骤实现:

  1. 创建一个formArray,用于存储字符串数组的formArray。可以使用Angular的FormBuilder来创建formArray对象。
  2. 使用循环遍历字符串数组,并为每个字符串创建一个formControl对象。
  3. 将每个formControl对象添加到第一步创建的formArray中。
  4. 将第一步创建的formArray添加到主要的formArray中,以便在表单中使用。

下面是一个示例代码,演示如何在另一个formArray中迭代字符串数组的formArray:

代码语言:txt
复制
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, FormArray, FormControl } from '@angular/forms';

@Component({
  selector: 'app-example',
  template: `
    <form [formGroup]="mainForm">
      <div formArrayName="stringArrays">
        <div *ngFor="let array of stringArrays.controls; let i = index">
          <div [formGroupName]="i">
            <div formArrayName="strings">
              <div *ngFor="let control of getStringsArray(i).controls; let j = index">
                <input type="text" [formControlName]="j">
              </div>
            </div>
          </div>
        </div>
      </div>
    </form>
  `
})
export class ExampleComponent {
  mainForm: FormGroup;

  constructor(private fb: FormBuilder) {
    this.mainForm = this.fb.group({
      stringArrays: this.fb.array([])
    });

    const stringArrays = this.mainForm.get('stringArrays') as FormArray;

    // 迭代字符串数组的formArray
    const stringArray = ['string1', 'string2', 'string3'];

    const formArray = this.fb.array([]);
    stringArray.forEach(str => {
      formArray.push(new FormControl(str));
    });

    stringArrays.push(this.fb.group({
      strings: formArray
    }));
  }

  get stringArrays() {
    return this.mainForm.get('stringArrays') as FormArray;
  }

  getStringsArray(index: number) {
    return this.stringArrays.at(index).get('strings') as FormArray;
  }
}

在上述示例中,我们创建了一个名为mainForm的主表单,其中包含一个名为stringArrays的formArray。我们使用*ngFor指令遍历stringArrays中的每个formGroup,并在每个formGroup中创建一个名为strings的formArray。然后,我们使用*ngFor指令遍历strings中的每个formControl,并将其绑定到输入框上。

请注意,上述示例中使用的是Angular的表单模块,你可以根据自己的需求选择适合的表单库。此外,示例中的代码仅用于演示目的,实际应用中可能需要根据具体情况进行适当的修改和调整。

希望以上信息对你有所帮助!如果你需要更多关于云计算或其他相关主题的信息,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

for...of循环使用

– MDN 基本使用 for…of基本使用比较简单: // 遍历数组 let array = ['a', 'b', 'c']; for (let value of array) { console.log...(value); // 分别打印 'a' 'b' 'c' } // 遍历字符串 let str = "abc"; for (let value of str) { console.log(value...为什么报错了,报错错误提示写很清楚,因为object对象不是可迭代,也就是说它不是可迭代对象。 这里遇到一个新名词,什么是可迭代对象呢?...for-of循环中,也可以用在数组解构上: let arr = [...loop10]; // arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 可迭代对象与generator...由于for…in遍历是对象可枚举属性,所以对于数组来说打印是键,而不是值: let array = ['a', 'b', 'c']; for (const value in array) {

7910
  • 2013年02月06日 Go生态洞察:Go映射(Map)实战 ️

    如果你对“Go映射使用”或“Go数据结构”感兴趣,这篇文章正适合你。我们将详细讲解映射声明、初始化、操作,以及如何在Go代码中高效利用映射。让我们一起揭开Go映射神秘面纱吧!...引言 在计算机科学,哈希表是一种极其有用数据结构,以其快速查找、添加和删除特性而著称。Go语言提供了内置映射类型,实现了哈希表功能。本文将重点介绍如何在Go中使用映射,而非其底层实现。...正文 声明和初始化 Go映射类型格式如下: map[KeyType]ValueType 这里KeyType是可比较类型,而ValueType可以是任何类型,甚至是另一个映射。...这包括布尔型、数值型、字符串、指针、通道和接口类型,以及仅包含这些类型结构体或数组。不包括类型有切片、映射和函数;这些类型不能使用==进行比较,也不能作为映射键。...并发与映射 映射 在并发使用时不是安全。如果需要从并发执行goroutine读写映射,必须使用某种同步机制,sync.RWMutex。

    7510

    程序员必备50道数据结构和算法面试题

    我在面试中经常看到主题区域是数组、链表、字符串、二叉树,以及源于算法问题(例如字符串算法,排序算法, quicksort 或基数排序,以及其他杂项),这就是你能在这篇文章中找到主要内容。...解决数组问题关键是,你要对数组这种数据结构有一个深刻认识,同时还要了解基本程序流程循环、递归以及基本操作符。...字符串相关问题 与数组和链表数据结构一起,字符串是编程工作面试另一个热门话题。我从未参加过没有问过基于字符串相关问题编码面试。...6、如何在字符串中找到重复字符? 7、如何对给定字符串元音及辅音进行计数? 8、如何计算给定字符传中特定字符出现次数? 9、如何找到一个字符串全排列?...8、如何输出二叉搜索树所有叶节点? 9、如何在给定二叉树中计算叶节点数目? 10、如何在给定数组执行二分搜索?

    4.3K20

    程序员必备50道数据结构和算法面试题

    我在面试中经常看到主题区域是数组、链表、字符串、二叉树,以及源于算法问题(例如字符串算法,排序算法, quicksort 或基数排序,以及其他杂项),这就是你能在这篇文章中找到主要内容。...解决数组问题关键是,你要对数组这种数据结构有一个深刻认识,同时还要了解基本程序流程循环、递归以及基本操作符。...字符串相关问题 与数组和链表数据结构一起,字符串是编程工作面试另一个热门话题。我从未参加过没有问过基于字符串相关问题编码面试。...6、如何在字符串中找到重复字符? 7、如何对给定字符串元音及辅音进行计数? 8、如何计算给定字符传中特定字符出现次数? 9、如何找到一个字符串全排列?...8、如何输出二叉搜索树所有叶节点? 9、如何在给定二叉树中计算叶节点数目? 10、如何在给定数组执行二分搜索?

    3.2K11

    ES6迭代简单指南和示例

    我们将在本文中分析迭代器。迭代器是在JavaScript循环任何集合一种新方法。它们是在ES6引入,由于它们广泛用途和在不同地方使用而变得非常流行。...如下: 现在,假设你拥有一个自定义数据结构来保存所有作者,而不是上面的数组: mypreferteauthors 是一个对象,它包含另一个对象 allAuthors。...让我们看看什么是可迭代,以及如何使对象可迭代。 在本文最后,你将了解如何在定制对象上使用for-of循环,在本例是在 mypreferteauthors 上使用 for-of 循环。...我们在 mypreferteauthors 添加一个返回所有作者方法 getAllAuthors。: 这是一个简单方法。它帮我们完成了获取所有作者功能。...getAllAuthors 返回字符串数组,如果另一个开发人员以这种格式返回一个对象数组,该怎么办: [ {name: 'Agatha Christie'}, {name: 'J. K.

    1.4K40

    53 道 Python 面试题,帮你成为大数据工程师

    10.解释reduce函数工作原理 将头缠起来直到您几次使用都很难。 reduce接受一个函数和一个序列,然后对该序列进行迭代。在每次迭代,当前元素和前一个元素输出都将传递给函数。...不变对象(字符串,数字和元组)是按值调用。请注意,在函数内部进行修改后,name值不会在函数外部发生变化。name值已分配给该功能范围内内存新块。...注意如何在函数外部定义列表在函数内部被修改。函数参数指向内存存储li值原始块。...数组需要齐次元素。 列表上算术从列表添加或删除元素。每个线性代数数组函数算术运算。 阵列还使用更少内存,并具有更多功能。 我写了另一篇有关数组文章。 20.如何连接两个数组?...append将值添加到列表,而extend将另一个列表值添加到列表。

    10.3K40

    何在JavaScript中使用for循环

    每当循环语句在一个集合循环时,我们称之为一个「迭代」。 有两种方式可以访问集合项。第一种方式是通过它在集合键,也就是数组索引或对象属性。...for…in循环定义 JavaScriptfor循环会或迭代集合键。使用这些键,你就可以访问它在集合中代表项。 集合项可以是数组,也可以是对象,甚至可以是字符串。...它可以是对象、数组字符串等等。key会是value每一项键,在每次迭代中都会改变到列表下一个键。 注意,这里我们使用let或const来声明key。...数组有序迭代 由于使用for...in循环时不能保证迭代索引顺序,如果有必要保持顺序,建议不要迭代数组。...「回调函数」是你传递给另一个方法或函数函数,作为该方法或函数执行一部分而被执行。当涉及到JavaScriptforEach时,它意味着回调函数将在每个迭代执行,接收迭代的当前项作为参数。

    5.1K10

    2024年3月份最新大厂运维面试题集锦(运维15-20k)

    何在Shell脚本中进行循环迭代? 答案: Shell脚本支持for循环、while循环和until循环。...# 输出function_name返回值 67. 解释Shell脚本数组和如何使用它们。 答案: Shell脚本支持一维数组。可以使用括号()声明数组,使用空格分隔元素。...答案: 子Shell是当前Shell一个独立副本,它继承了父Shell环境(变量等),但任何在子Shell做出更改(变量赋值)不会影响父Shell。...如何在Shell脚本操作字符串?...解释如何在Shell脚本处理文件和目录。 答案: Shell脚本提供了多种处理文件和目录命令,cp(复制)、mv(移动)、rm(删除)、mkdir(创建目录)等。

    1.4K10

    算法和编程面试题精选TOP50!(附代码+解题思路+答案)

    如果需要创建更长或更短数组,得先创建一个新数组,再把原数组所有元素复制到新创建数组。...解决数组相关问题关键是要熟悉数组数据结构和基本构造,循环、递归等等;下面给出了 10 道热门面试题帮助大家掌握知识并进行练习。 ▌1.给定一个 1-100 整数数组,请找到其中缺少数字。.../javarevisited.blogspot.com/2013/03/how-to-reverse-array-in-java-int-String-array-example.html ▌10.如何在不调用库情况下删除数组重复项...字符串 除了数组和链表数据结构,字符串是应聘过程编程面试另一个热门问题。在我参加过编程面试,每一个都涉及了有关字符串问题。...解决方法与代码: http://www.java67.com/2015/06/how-to-reverse-words-in-string-java.html ▌11.如何判断一个字符串是否为另一个字符串循环移动结果

    4.3K30

    14万字 | 400多道JavaScript 面试题及详细答案(建议收藏)

    133 你如何检查一个字符串是否以另一个字符串开头? 134 你如何在javascript修剪字符串? 135 你如何在javascript添加一个键值对? 136 ‘!...for…of 语句创建一个循环迭代迭代对象或元素,例如内置字符串数组、类数组对象(参数或 NodeList)、TypedArray、Map、Set 和用户定义迭代对象。...John Resig'] 数组输出为 [‘J’, ‘o’, ‘h’, ‘n’, ‘’, ‘R’, ‘e’, ‘s’, ‘i’, ‘g’] 说明:字符串是一种可迭代类型,数组扩展运算符将可迭代每个字符映射到一个元素...下面是 javascript 内置迭代对象列表, 1.数组和类型数组 2.字符串迭代每个字符或 Unicode 代码点 3.Maps:迭代其键值对 4.集合:迭代它们元素 5.参数:函数类似数组特殊变量...控制台字符串消息可以附加在另一个参数说明符和 CSS 样式之后。

    12.7K20

    Java正则表达式十大问题

    1.如何从一个字符串中提取数字? 使用正则表达式一个常见问题是提取所有的数字到整数数组。在Java,\ d代表一系列数字(0-9)。...如果你是一个字符串中使用转义构造,你必须先反斜杠用另一个反斜杠编译字符串。这就是为什么我们需要使用\\ D。...|是用来匹配多个正则表达式单个正则表达式元字符。例如,A | B表示A或B。更多详情请参阅交替用竖线或管道符号。因此,要使用|作为字符,你需要在它前面加上\,\\进行转义|。...6.我们怎样用Java正则表达式才能匹配anbn(an次方bn次方)? 这是字符串a连接相等数量字符串b,ab,aabb,并aaabbb,由所有非空字符串组成语言。...+b)))实现,如果匹配,\ 1,自参考匹配,将匹配内括号元素,这是第一次迭代单个b。 2.第二次迭代,表达式将停在第二个a,然后向前看(再次跳跃)是否有会是b。

    2.4K40

    Java开发者易犯错误Top10

    数组转换为数组列表 将数组转换为数组列表,开发者经常会这样做: List list = Arrays.asList(arr); Arrays.asList()将返回一个数组内部是私有静态类...在一个循环中从一个列表里删除一个元素 考虑下面删除元素代码在迭代结果: ArrayList list = new ArrayList(Arrays.asList("...这种情况下使用迭代器才是正确方法,foreach循环在Java工作像是一个迭代器,但实际上并不是,考虑下面的代码: ArrayList list = new ArrayList<String...一般来说,Mutable对象用于避免产生过多中间对象,经典例子是连接大量字符串数。如果你使用Immutable字符串,那么会产生很多符合垃圾收集条件对象。...例如mutable对象传递到方法中允许你在不跳过太多语法情况下收集多个结果。另一个例子是排序和过滤,你可以构建一个带有原有集合方法,并返回一个已排序,不过这对大集合来说会造成更大浪费。

    1.1K40

    python自测100题「建议收藏」

    深拷贝就是将一个对象拷贝到另一个对象,这意味着如果你对一个对象拷贝做出改变时,不会影响原对象。...Q20.Python继承 继承允许一个类获得另一个所有成员(比如属性和方法)。继承提供代码可重用性,使创建和维护应用程序更容易。...其中xrange在python 3.5.X已弃用。 Q27.如何在Python执行模式匹配? 正则表达式(RE)使我们能够指定匹配给定字符串特定“部分”表达式。...Q55.怎么移除一个字符串前导空格? 字符串前导空格就是出现在字符串第一个非空格字符前空格。我们使用方法Istrip()可以将它从字符串移除。...map函数执行作为第一个参数给出函数,该函数作为第二个参数给出iterable所有元素。如果给定函数接受多于1个参数,则给出了许多迭代。 Q85.如何在NumPy数组获得N个最大值索引?

    5.7K20

    python自测100题

    深拷贝就是将一个对象拷贝到另一个对象,这意味着如果你对一个对象拷贝做出改变时,不会影响原对象。...Q20.Python继承 继承允许一个类获得另一个所有成员(比如属性和方法)。继承提供代码可重用性,使创建和维护应用程序更容易。...其中xrange在python 3.5.X已弃用。 Q27.如何在Python执行模式匹配? 正则表达式(RE)使我们能够指定匹配给定字符串特定“部分”表达式。...Q55.怎么移除一个字符串前导空格? 字符串前导空格就是出现在字符串第一个非空格字符前空格。我们使用方法Istrip()可以将它从字符串移除。...map函数执行作为第一个参数给出函数,该函数作为第二个参数给出iterable所有元素。如果给定函数接受多于1个参数,则给出了许多迭代。 Q85.如何在NumPy数组获得N个最大值索引?

    4.6K10

    Python 如何向列表或数组添加元素

    1.Python 列表是什么?给初学者定义编程数组是一个有序项目集合,所有的项目都需要是相同数据类型。然而,与其它编程语言不同,数组在 Python 不是一个内置数据结构。...存储在一个列表元素可以是任何数据类型。可以有整数列表、浮点数列表、字符串列表,以及任何其它内置 Python 数据类型列表。尽管列表有可能只容纳相同数据类型项目,但它们比传统数组更灵活。...如何在 Python 创建列表要创建一个新列表,首先给这个列表起一个名字。然后添加赋值运算符(=)和一对有开头和结尾方括号。在方括号内添加你希望列表包含值。...extend() 是将一个列表所有内容添加到另一个列表方法。iterable 可以是任何可迭代东西,比如另一个列表,例如 another_list_name。...这是因为字符串是可迭代,而 .extend() 是对传递给它迭代参数进行迭代

    31820

    《Python入门06》揭秘Python条件&断言&循环语句!!

    (在c++、Java等语言中都是用 { } 形式来表示代码块) 在很多语言中,都使用一个特殊单词或字符(begin或{)来标识代码块起始位置,并使用另一个特殊单词或字符(end或...一种这样需求是为序列(或其他可迭代对象)每个元素执行代码块。...它结束当前迭代,并跳到下一次迭代开头。这基本上意味着跳过循环体余下语句,但不结束循环。但是这个在实际中用到比较少。 五、总结 代码块:代码块用于通过缩进将语句编组。...条件语句一个变种是条件表达式,a if b else c。 断言:断言断定某件事(一个布尔表达式)为真,可包含说明为何必须如此字符串。...循环:你可针对序列每个元素(特定范围内每个数)执行代码块,也可在条件为真时反复执行代码块。

    2.7K30

    必读!53个Python经典面试题详解

    比如内存数据库记录,(2, "Ema", "2020–04–16")(#id, 名称,创建日期)。 2. 如何进行字符串插值? 在不导入Template类情况下,有3种方法进行字符串插值。...在每次迭代,当前元素和前一个元素输出都传递给函数。最后,返回一个值。...如果你在谷歌上搜索这个问题并阅读前几页,你就要准备好进入语义迷宫了。你最好只是了解它工作原理。 不可变对象(字符串、数字和元组等)是按值调用。...如何在Python连接列表? 将2个列表相加,就是将它们连接在一起。但请注意,数组工作方式不是这样。...Append将一个值添加到一个列表,而extend将另一个列表值添加到一个列表

    7K30
    领券