tôi có một đối tượng mà tất cả các phím được chuỗi, một số giá trị là chuỗi và còn lại là các đối tượng trong mẫu đơn này:giao diện nguyên cảo cho các đối tượng với một số được biết đến và một số tên thuộc tính không rõ
var object = {
"fixedKey1": "something1",
"fixedKey2": "something2",
"unknownKey1": { 'param1': [1,2,3], 'param2': "some2", 'param3': 'some3'},
"unknownKey2": { 'param1': [1,2,3], 'param2': "some2", 'param3': 'some3'},
"unknownKey3": { 'param1': [1,2,3], 'param2': "some2", 'param3': 'some3'},
...
...
};
Trong này đối tượng fixedKey1
và fixedKey2
là các khóa đã biết sẽ có trong đối tượng đó. unknownKey
- cặp giá trị có thể thay đổi từ 1-n.
tôi đã cố gắng xác định các giao diện của các đối tượng như:
interface IfcObject {
[keys: string]: {
param1: number[];
param2: string;
param3: string;
}
}
Nhưng điều này ném các lỗi sau:
Variable of type number is not assignable of type object
Mà tôi phát hiện ra rằng nó không phải là có thể gán giao diện này để " cặp fixedKey - value ".
Vì vậy, làm cách nào để kiểm tra loại biến này?
Có, nó sẽ chính xác hơn, nhưng vẫn viết loại ** bất kỳ ** nào không phải là một thực hành tốt. –
@yugantarkumar tốt bắt, tôi đã không nhận thấy rằng các phím còn lại tất cả đã đối tượng cùng loại, nhờ chỉnh sửa. – bersling
Cảm ơn @bersling, Thật dễ dàng để tôi bắt được, vì tôi chỉ hỏi câu hỏi này. :) –