Update specific control in an angular 2 reactive array form

I have checked a lot of questions and angular's api documentation but I guess I am missing something. Please warn me if I am on the wrong way before giving negative vote.

I created a dynamic form according to this link https://alligator.io/angular/reactive-forms-formarray-dynamic-fields/

I just need to update a control in a form and this form's inputs are creating dynamically according to an array's length.

According to angular's documentation, FormGroup's setControl method takes a string for first argument: https://angular.io/api/forms/FormGroup#setControl

But FormArray's takes number (index): https://angular.io/api/forms/FormArray#setControl

My code for FormGroup is like this and It's working (please warn me if it's wrong):

this.personForm.setControl('passportNo', new FormControl('123', Validators.required));

My code for FormArray is like this (I changed index values to 0):

this.personForm.get('formItemsArray').get('0').setControl(0, this.formBuilder.array([this.createItem()]));

createItem(): FormGroup {
    return this.formBuilder.group({
      'passportNo': new FormControl('')
createForm() {
    this.personForm = this.formBuilder.group({
      formItemsArray: this.formBuilder.array([this.createItem()])

Here is the full of my component's code https://embed.plnkr.co/zrDaV7jfHfwQE27zk7FC/