Как объявить массив определенного типа в JavaScript

Возможно ли в сценарии Java явное объявление массива как массива типа int(или любого другого типа)?

что-то вроде var arr: Array(int) было бы здорово...

2 ответа

Решение
var StronglyTypedArray=function(){
      this.values=[];
      this.push=function(value){
      if(value===0||parseInt(value)>0) this.values.push(value);
      else return;//throw exception
     };
     this.get=function(index){
        return this.values[index]
     }
   }

РЕДАКТИРОВАТЬ: используйте это следующим образом

     var numbers=new StronglyTypedArray();
     numbers.push(0);
     numbers.push(2);
     numbers.push(4);
     numbers.push(6);
     numbers.push(8);
     alert(numbers.get(3)); //alerts 6

Массив определенного типа в машинописи

export class RegisterFormComponent 
{
     genders = new Array<GenderType>();

     loadGenders()
     {
        this.genders.push({name: "Male",isoCode: 1});
        this.genders.push({name: "FeMale",isoCode: 2});
     }

}

type GenderType = { name: string, isoCode: number };    // Specified format

Если вы просто хотите ограничить пользователя вводить значения в соответствии с первым введенным значением, вы можете использовать приведенный ниже код

var stronglyTypedArray =  function(type) {
this.values = [];
this.typeofValue;
this.push = function(value) {
   if(this.values.length === 0) {
     this.typeofValue = typeof value;
     this.pushValue(value);
     return;   
   }
    if(this.typeofValue === typeof value) {
       this.pushValue(value);
    } else {
        alert(`type of value should be ${this.typeofValue}`)
    }
}

this.pushValue = function(value) {
     this.values.push(value);
}

}

Если вы хотите передать свой собственный тип, вы можете немного настроить приведенный выше код для этого

var stronglyTypedArray =  function(type) {
this.values = [];
this.push = function(value) {
    if(type === typeof value) {
       this.pushValue(value);
    } else {
        alert(`type of value should be ${type}`)
    }
}

this.pushValue = function(value) {
     this.values.push(value);
}

}

Во-первых, прошу прощения за свой английский. Я в этом не разбираюсь.

Это не официальный способ сделать в JavaScript. Потому что он работает на основе инициализации объекта массива, содержащего элемент определенного типа данных. По умолчанию JavaScript понимает, что массив имеет этот тип данных. Затем мы удалим этот элемент, мы сможем использовать массив с определенным типом данных.

Вы можете объявить массив с определенным типом в JavaScript, используя этот способ

let array = new Array(int);
array.pop();

array.push(1);
array.push(2);
array.push(3);

array.forEach(element => console.log(element));
Другие вопросы по тегам