Ang*_*eji 9 angular angular6 angular7
使用概念字典我想做以下任务。
1. Closed
2. Open
3. Cancelled
4. Rejected
5. Saved
6. Draft
7. Pending Approval
Run Code Online (Sandbox Code Playgroud)
这是不同的状态。现在我的表如下
Purchase Order Status
PO1 closed
PO2 pending_approval
PO3 open
PO4 Draft
PO5 Cancelled
PO6 Rejected
PO7 Saved
Run Code Online (Sandbox Code Playgroud)
现在我需要使用徽章以不同颜色显示每个状态
使用的方法是字典法。
谁能告诉我什么是字典法?(简要说明)
也请给我解决方案
Nid*_*nan 19
来自康拉德·鲁道夫的 回答
Dictionary是接口的“正确”名称(= ADT),即一个关联容器,将(通常是唯一的)键映射到(不一定是唯一的)值。
总结一下:字典是将键映射到值的 ADT。这个 ADT 有几种可能的实现,哈希表就是其中之一。Hash是用词不当,但在上下文中它相当于根据哈希表实现的字典。
直接你可以使用地图类型作为推荐
//Using Map
let map = new Map<string, string>();
map.set("PO1", "closed");
map.set("PO2", "pending_approval");
map.set("PO3", "open");
map.set("PO4", "Draft");
map.set("PO5", "Cancelled");
map.set("PO6", "Rejected");
map.set("PO7", "Saved");
//get item
console.log(map.get('PO1'));
console.log(map.get('PO5'));
//has item
console.log(map.has('PO1'));
console.log(map.has('PO5'));
//delete item
console.log(map.delete('PO1'));
console.log(map.delete('PO5'));
Run Code Online (Sandbox Code Playgroud)
但是如果你想要自定义附加方法,你也可以在打字稿中创建一个 Dictionary 实现,如下所示
//Using Dictionary
let dict = new Dictionary();
dict.set("PO1", "closed");
dict.set("PO2", "pending_approval");
dict.set("PO3", "open");
dict.set("PO4", "Draft");
dict.set("PO5", "Cancelled");
dict.set("PO6", "Rejected");
dict.set("PO7", "Saved");
//get item
console.log(map.get('PO1'));
console.log(map.get('PO5'));
//has item
console.log(map.has('PO1'));
console.log(map.has('PO5'));
//delete item
console.log(map.delete('PO1'));
console.log(map.delete('PO5'));
Run Code Online (Sandbox Code Playgroud)
字典.ts
export class Dictionary {
items = {};
constructor() {
this.items = {};
}
public has(key) {
return key in this.items;
}
public set(key,value) {
this.items[key] = value;
}
public get(key) {
return this.items[key];
}
public delete(key) {
if( this.has(key) ){
delete this.items[key]
return true;
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
字典是一种从键映射到值的数据类型,允许您在 O(1) 时间内获取给定键的值。
在 Typescript 或 Javascript 中,您可以使用对象作为字典:
const dictionary = {
'key1': 'value1',
'key2': 'value2'
};
console.log(dictionary['key1']); // outputs 'value1'
Run Code Online (Sandbox Code Playgroud)
您还可以使用以下Map类型:
const map = new Map<string, number>();
map.set('key1', 100);
map.set('key2', 200);
console.log(map.get('key2')); // outputs 200
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34381 次 |
| 最近记录: |