-2

How to accepts an array of numbers and returns an array of numbers in written form e.g.

[0,0,6,2,7] → [“zero”, “zero”, “six”,"two","seven"]

I want to input and return array of values not one value?

<div>
    <input type="text" [(ngModel)]="number" placeholder="Input Number"/>
    <div id="word">{{words[number]}}</div>
</div>


{{numbers[number]}}





<input type="text" [(ngModel)]="stringOfNumbers" placeholder="Input Number"/>
{{stringOfNumbers}}
<br>
{{arrayOfNumbers}}




words= ['zero','One','Two','Three','Four','Five','Six','seven','eight'];

stringOfNumbers = "1,2,3,4";
arrayOfNumbers = this.stringOfNumbers .split(',');
Qusay Saad
  • 279
  • 1
  • 5
  • 12

2 Answers2

1

I suggest you use a middleware for this (check out this answer: Convert digits into words with JavaScript, it's pretty much hardcoding. Add an event listener every time the input value changes and loop through the array.

document.getElementsByTagName("input")[0].addEventListener('change', function(){
    alert("Input changed!");
    // Code goes here
});
rmolinamir
  • 1,121
  • 14
  • 15
1

Improve my comment: (the stackblitz here)

//The .html
<input [ngModel]="numbers" (ngModelChange)="calculeNumber($event)">
{{result|json}}

//The .ts
export class AppComponent  {
  numbers:string;
  result:string[]=[];
  words= ['zero','One','Two','Three','Four','Five','Six','seven','eight'];
  calculeNumber(  numbers:any){
    this.result=numbers.split(',').map(x=>
    {

      return this.words[+x]
    });

  }
}
Eliseo
  • 50,109
  • 4
  • 29
  • 67
  • just use this.result=numbers.split(''). -are two sinple quotes-. If you want a string, not an array of string use join(',') to convert array to string – Eliseo Oct 17 '18 at 20:17