TypeScript'te bir dizi bildirin


106

Typescript'te boolean dizisini bildirirken veya kullanırken sorun yaşıyorum, hangisinin yanlış olduğundan emin değilim. Bir undefinedhata alıyorum. JavaScript sözdizimi kullanmam mı yoksa yeni bir Dizi nesnesi mi beyan etmem gerekiyor?

Diziyi oluşturmanın doğru yolu aşağıdakilerden hangisidir?

private columns = boolean[];
private columns = [];
private columns = new Array<boolean>();

Tüm değerleri yanlış olacak şekilde nasıl başlatırım?

Değerlere nasıl ulaşabilirim, nasıl ulaşabilirim, columns[i] = true;..?


1
doğru sözdizimi let array: boolean []; ve evet, kullandığınız şekilde erişebilirsiniz
Girdhari Agrawal

Yanıtlar:


239

TypeScript'te bir dizi boole oluşturmanın farklı yolları şunlardır:

let arr1: boolean[] = [];
let arr2: boolean[] = new Array();
let arr3: boolean[] = Array();

let arr4: Array<boolean> = [];
let arr5: Array<boolean> = new Array();
let arr6: Array<boolean> = Array();

let arr7 = [] as boolean[];
let arr8 = new Array() as Array<boolean>;
let arr9 = Array() as boolean[];

let arr10 = <boolean[]> [];
let arr11 = <Array<boolean>> new Array();
let arr12 = <boolean[]> Array();

let arr13 = new Array<boolean>();
let arr14 = Array<boolean>();

Bunlara dizini kullanarak erişebilirsiniz:

console.log(arr[5]);

ve push kullanarak öğeler eklersiniz:

arr.push(true);

Diziyi oluştururken başlangıç ​​değerlerini sağlayabilirsiniz:

let arr1: boolean[] = [true, false];
let arr2: boolean[] = new Array(true, false);

1
Bir Dizi bildirmenin bu kadar çok farklı yoluna sahip olmanın iyi bir nedeni var mı? arr5 ve arr6 bana özellikle rahatsız edici görünüyor.
Raphaël Gomès

2
@ RaphaëlGomès Javascript tam olarak böyle. Arr5 ve arr6 ile ilgili şu soruya bir göz atın: stackoverflow.com/questions/8205691/…
Nitzan Tomer

@juanjinario gerçekten değil. bununla ilgili iki sorun var. birincisi, değişkene gerçek bir değer atamamanızdır ve bu nedenle array.push(...)bir çalışma zamanı hatasıyla sonuçlanır. ayrıca, alacağınız dizi için herhangi bir tür eklemediniz never[].
Nitzan Tomer

9

TS'de bir boole dizisi yaratmanın ve bunu false ile başlatmanın yolu budur:

var array: boolean[] = [false, false, false]

veya başka bir yaklaşım şunlar olabilir:

var array2: Array<boolean> =[false, false, false] 

iki nokta üst üste işaretinden sonraki türü belirtebilirsiniz, bu durumda boole dizisi


5

TypeScript'te belirli bir dizi türü

export class RegisterFormComponent 
{
     genders = new Array<GenderType>();   // Use any array supports different kind objects

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

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

1

Yazılmış bir diziyi bildirmenin bir yolu TypeScript,

const booleans = new Array<Boolean>();

// or, if you have values to initialize 
const booleans: Array<Boolean> = [true, false, true];
const valFalse = booleans[1];

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.