Доступна ли ключ, пара значений в typescript? Если да, то как это сделать. Может ли кто-нибудь предоставить примеры примеров ссылок.
Доступна ли пара ключ-значение в Typescript?
Ответ 1
Доступна ли пара ключ-значение в Typescript?
Да. Вызывается подпись индекса:
interface Foo {
[key: string]: Bar;
}
let foo:Foo = {};
Здесь ключи - string
а значения - Bar
.
Больше
Вы можете использовать Map
es6 для правильных словарей, заполненных core-js
.
Ответ 2
Самый простой способ - это что-то вроде:
var indexedArray: {[key: string]: number}
Ответ 3
Доступна ли пара ключ-значение в Typescript?
Если вы думаете о С# KeyValuePair <string, string>: Нет, но вы можете легко определить его самостоятельно:
interface KeyValuePair {
key: string;
value: string;
}
Использование:
let foo: KeyValuePair = { key: "k", value: "val" };
Ответ 4
Не для вопрошающего, а для всех остальных, которые заинтересованы: См. Как определить Typescript Карта пары значений ключа. где ключ - это число, а значение - массив объектов
Таким образом, решение:
let yourVar: Map<YourKeyType, YourValueType>;
// now you can use it:
yourVar = new Map<YourKeyType, YourValueType>();
yourVar[YourKeyType] = <YourValueType> yourValue;
Ура!
Ответ 5
Пример пары ключ-значение:
[key: string]: string
в качестве значения можно указать что угодно - если у вас есть программно заполненные значения, типы которых различаются, вы можете указать:
[key: string]: any
хоть и продолжай на свое усмотрение с any
:)
Ответ 6
Другой простой способ - использовать кортеж:
// Declare a tuple type
let x: [string, number];
// Initialize it
x = ["hello", 10];
// Access elements
console.log("First: " + x["0"] + " Second: " + x["1"]);
Выход:
First: hello Second: 10
Ответ 7
class Pair<T1, T2> {
private key: T1;
private value: T2;
constructor(key: T1, value: T2) {
this.key = key;
this.value = value;
}
getKey() {
return this.key;
}
getValue() {
return this.value;
}
}
const myPair = new Pair<string, number>('test', 123);
console.log(myPair.getKey(), myPair.getValue());
Ответ 8
как сказал только Джек Миллер, вам не нужно создавать интерфейс, вы можете создать его как любой:
let keyValues: any = [
{ key: "2013 Volkswagen Polo 1.4", value: "" },
{ key: "Monthly installment", value: "R2,000.00" },
{ key: "Paid over", value: "72 Months" },
{ key: "Deposit amount", value: "R60,000.00" }
];
Ответ 9
Вы также можете рассмотреть возможность использования Record
, например:
const someArray: Record<string, string>[] = [
{'first': 'one'},
{'second': 'two'}
];
Или напишите что-то вроде этого:
const someArray: {key: string, value: string}[] = [
{key: 'first', value: 'one'},
{key: 'second', value: 'two'}
];