  |  |   |    | AIWROK苹果系统Map 数据管理[map]小结
                         
                         
[color=var(--md-box-h3-text-color,var(--md-box-global-text-color))]方法一:add(添加键值对)项目  | 说明  |  功能描述  | 将键和值添加到 Map 中  |  方法签名  | Void add(String key, String value)  |  返回值  | Void  |  参数  | String key : 键String value : 值  |  案例  | new Map().add('','')  |   [color=var(--md-box-h3-text-color,var(--md-box-global-text-color))]方法二:delete(删除指定键值对)项目  | 说明  |  功能描述  | 从 Map 中删除指定的键值对  |  方法签名  | Void delete(String key)  |  返回值  | Void  |  参数  | String key : 键  |  案例  | new Map().delete('')  |   [color=var(--md-box-h3-text-color,var(--md-box-global-text-color))]方法三:clear(清空所有键值对)项目  | 说明  |  功能描述  | 移除 Map 中的所有键值对  |  方法签名  | Void clear()  |  返回值  | Void  |  参数  | 无  |  案例  | new Map().clear()  |   [color=var(--md-box-h3-text-color,var(--md-box-global-text-color))]方法四:get(根据键获取值)项目  | 说明  |  功能描述  | 根据键获取对应的值  |  方法签名  | String get(String key)  |  返回值  | String  |  参数  | String key : 键  |  案例  | new Map().get('')  |   [color=var(--md-box-h3-text-color,var(--md-box-global-text-color))]方法五:getAllValue(获取所有值)项目  | 说明  |  功能描述  | 返回 Map 中所有值的集合  |  方法签名  | String[] getAllValue()  |  返回值  | String[]  |  参数  | 无  |  案例  | new Map().getAllValue()  |   [color=var(--md-box-h3-text-color,var(--md-box-global-text-color))]方法六:toString(转换为字符串)项目  | 说明  |  功能描述  | 将 Map 转换为字符串,返回 Map 的 JSON 格式字符串  |  方法签名  | String toString()  |  返回值  | String  |  参数  | 无  |  案例  | new Map().toString()  |  
 完整示例: - /** 
 
 -  * AIWROK软件苹果技术文档 - Map类实际应用示例
 
 -  * 展示Map类在实际开发中的应用场景
 
 -  */ 
 
  
- // Map类实现 (复制自之前的实现)
 
 - function Map() { 
 
 -     this.keys = new Array(); 
 
 -     this.values = new Array(); 
 
 - }
 
  
- Map.prototype.add = function(key, value) { 
 
 -     var index = this.keys.indexOf(key); 
 
 -     if (index === -1) { 
 
 -         this.keys.push(key); 
 
 -         this.values.push(value); 
 
 -     } else { 
 
 -         this.values[index] = value; 
 
 -     } 
 
 - };
 
  
- Map.prototype.delete = function(key) { 
 
 -     var index = this.keys.indexOf(key); 
 
 -     if (index !== -1) { 
 
 -         this.keys.splice(index, 1); 
 
 -         this.values.splice(index, 1);
 
 -         return true;
 
 -     } 
 
 -     return false;
 
 - };
 
  
- Map.prototype.clear = function() { 
 
 -     this.keys = new Array(); 
 
 -     this.values = new Array(); 
 
 - };
 
  
- Map.prototype.get = function(key) { 
 
 -     var index = this.keys.indexOf(key); 
 
 -     if (index !== -1) { 
 
 -         return this.values[index]; 
 
 -     } 
 
 -     return null; 
 
 - };
 
  
- Map.prototype.getAllValue = function() { 
 
 -     return this.values.slice(); 
 
 - };
 
  
- Map.prototype.toString = function() { 
 
 -     var obj = {}; 
 
 -     for (var i = 0; i < this.keys.length; i++) { 
 
 -         obj[this.keys[i]] = this.values[i]; 
 
 -     } 
 
 -     return JSON.stringify(obj); 
 
 - };
 
  
- // 场景1: 应用配置管理
 
 - defineAppConfigManagement = function() {
 
 -     console.log('\n===== 场景1: 应用配置管理 =====');
 
 -     
 
 -     // 创建配置管理器
 
 -     var configManager = new Map();
 
 -     
 
 -     // 存储应用配置
 
 -     configManager.add('appName', 'AIWork自动化工具');
 
 -     configManager.add('version', '1.0.0');
 
 -     configManager.add('timeout', 10000);
 
 -     configManager.add('retryCount', 3);
 
 -     configManager.add('debugMode', true);
 
 -     
 
 -     // 使用配置
 
 -     console.log('应用名称:', configManager.get('appName'));
 
 -     console.log('应用版本:', configManager.get('version'));
 
 -     console.log('超时设置:', configManager.get('timeout'), '毫秒');
 
 -     
 
 -     // 更新配置
 
 -     console.log('\n更新配置...');
 
 -     configManager.add('version', '1.0.1');
 
 -     configManager.add('debugMode', false);
 
 -     
 
 -     // 导出配置为JSON
 
 -     var configJson = configManager.toString();
 
 -     console.log('\n配置JSON格式:', configJson);
 
 -     
 
 -     console.log('配置管理演示完成!');
 
 -     return configManager;
 
 - };
 
  
- // 场景2: 用户数据管理
 
 - defineUserDataManagement = function() {
 
 -     console.log('\n===== 场景2: 用户数据管理 =====');
 
 -     
 
 -     var userManager = new Map();
 
 -     
 
 -     // 存储多个用户信息
 
 -     userManager.add('user1', {name: '张三', age: 25, role: '管理员'});
 
 -     userManager.add('user2', {name: '李四', age: 30, role: '操作员'});
 
 -     userManager.add('user3', {name: '王五', age: 28, role: '开发者'});
 
 -     
 
 -     // 查询用户信息
 
 -     var adminUser = userManager.get('user1');
 
 -     console.log('管理员信息:', JSON.stringify(adminUser));
 
 -     
 
 -     // 更新用户信息
 
 -     var operator = userManager.get('user2');
 
 -     operator.age = 31;
 
 -     operator.role = '高级操作员';
 
 -     userManager.add('user2', operator);
 
 -     
 
 -     console.log('更新后操作员信息:', JSON.stringify(userManager.get('user2')));
 
 -     
 
 -     // 获取所有用户
 
 -     var allUsers = userManager.getAllValue();
 
 -     console.log('\n所有用户数量:', allUsers.length);
 
 -     console.log('所有用户列表:', JSON.stringify(allUsers));
 
 -     
 
 -     console.log('用户数据管理演示完成!');
 
 -     return userManager;
 
 - };
 
  
- // 场景3: 任务状态跟踪
 
 - defineTaskTracker = function() {
 
 -     console.log('\n===== 场景3: 任务状态跟踪 =====');
 
 -     
 
 -     var taskTracker = new Map();
 
 -     
 
 -     // 添加任务状态
 
 -     taskTracker.add('task1', '等待中');
 
 -     taskTracker.add('task2', '执行中');
 
 -     taskTracker.add('task3', '已完成');
 
 -     taskTracker.add('task4', '失败');
 
 -     
 
 -     // 更新任务状态
 
 -     console.log('初始任务1状态:', taskTracker.get('task1'));
 
 -     taskTracker.add('task1', '执行中');
 
 -     console.log('更新后任务1状态:', taskTracker.get('task1'));
 
 -     
 
 -     // 删除已完成任务
 
 -     console.log('删除已完成任务...');
 
 -     taskTracker.delete('task3');
 
 -     
 
 -     // 统计任务状态
 
 -     var statusCounts = {
 
 -         '等待中': 0,
 
 -         '执行中': 0,
 
 -         '已完成': 0,
 
 -         '失败': 0
 
 -     };
 
 -     
 
 -     var allStatus = taskTracker.getAllValue();
 
 -     for (var i = 0; i < allStatus.length; i++) {
 
 -         var status = allStatus[i];
 
 -         if (statusCounts[status] !== undefined) {
 
 -             statusCounts[status]++;
 
 -         }
 
 -     }
 
 -     
 
 -     console.log('\n任务状态统计:', JSON.stringify(statusCounts));
 
 -     console.log('当前跟踪的任务:', taskTracker.toString());
 
 -     
 
 -     console.log('任务状态跟踪演示完成!');
 
 -     return taskTracker;
 
 - };
 
  
- // 场景4: 缓存管理器
 
 - defineCacheManager = function() {
 
 -     console.log('\n===== 场景4: 缓存管理器 =====');
 
 -     
 
 -     var cacheManager = new Map();
 
 -     
 
 -     // 缓存数据
 
 -     cacheManager.add('api_data_1', {data: [1, 2, 3, 4, 5], timestamp: Date.now()});
 
 -     cacheManager.add('api_data_2', {data: '缓存的字符串数据', timestamp: Date.now()});
 
 -     cacheManager.add('image_base64_1', 'base64编码的图像数据...');
 
 -     
 
 -     // 检查缓存
 
 -     console.log('缓存键数量:', cacheManager.keys.length);
 
 -     console.log('是否有API数据1缓存:', cacheManager.get('api_data_1') !== null ? '是' : '否');
 
 -     
 
 -     // 模拟缓存过期检查
 
 -     console.log('\n模拟缓存过期检查...');
 
 -     var cachedData = cacheManager.get('api_data_1');
 
 -     if (cachedData) {
 
 -         var now = Date.now();
 
 -         var cacheTime = cachedData.timestamp;
 
 -         console.log('缓存时间:', (now - cacheTime), '毫秒前');
 
 -     }
 
 -     
 
 -     // 清除特定缓存
 
 -     console.log('\n清除图像缓存...');
 
 -     cacheManager.delete('image_base64_1');
 
 -     console.log('清除后键数量:', cacheManager.keys.length);
 
 -     
 
 -     // 清空所有缓存
 
 -     console.log('\n清空所有缓存...');
 
 -     cacheManager.clear();
 
 -     console.log('清空后键数量:', cacheManager.keys.length);
 
 -     
 
 -     console.log('缓存管理器演示完成!');
 
 -     return cacheManager;
 
 - };
 
  
- // 场景5: 命令映射表
 
 - defineCommandMapping = function() {
 
 -     console.log('\n===== 场景5: 命令映射表 =====');
 
 -     
 
 -     var commandMap = new Map();
 
 -     
 
 -     // 定义命令处理函数
 
 -     function handleStart() {
 
 -         return '启动任务成功!';
 
 -     }
 
 -     
 
 -     function handleStop() {
 
 -         return '停止任务成功!';
 
 -     }
 
 -     
 
 -     function handleRestart() {
 
 -         return '重启任务成功!';
 
 -     }
 
 -     
 
 -     // 映射命令到处理函数
 
 -     commandMap.add('start', handleStart);
 
 -     commandMap.add('stop', handleStop);
 
 -     commandMap.add('restart', handleRestart);
 
 -     
 
 -     // 执行命令
 
 -     console.log('执行start命令:', commandMap.get('start')());
 
 -     console.log('执行stop命令:', commandMap.get('stop')());
 
 -     
 
 -     // 动态添加命令
 
 -     console.log('\n动态添加status命令...');
 
 -     commandMap.add('status', function() { return '获取任务状态: 运行中'; });
 
 -     console.log('执行status命令:', commandMap.get('status')());
 
 -     
 
 -     // 检查命令是否存在
 
 -     var commandName = 'pause';
 
 -     var command = commandMap.get(commandName);
 
 -     if (command) {
 
 -         console.log('执行', commandName, '命令:', command());
 
 -     } else {
 
 -         console.log('命令', commandName, '不存在!');
 
 -     }
 
 -     
 
 -     console.log('命令映射表演示完成!');
 
 -     return commandMap;
 
 - };
 
  
- // 主函数 - 运行所有场景
 
 - defineMapPracticalApplications = function() {
 
 -     console.log('======= Map类实际应用演示 =======');
 
 -     console.log('此示例展示了Map类在AIWork自动化开发中的5个实际应用场景');
 
 -     
 
 -     try {
 
 -         // 运行各个场景
 
 -         var configManager = defineAppConfigManagement();
 
 -         var userManager = defineUserDataManagement();
 
 -         var taskTracker = defineTaskTracker();
 
 -         var cacheManager = defineCacheManager();
 
 -         var commandMap = defineCommandMapping();
 
 -         
 
 -         console.log('\n=================================');
 
 -         console.log('✅ Map类所有应用场景演示成功!');
 
 -         console.log('\nMap类的主要作用:');
 
 -         console.log('1. 提供键值对数据存储和检索');
 
 -         console.log('2. 支持配置管理、用户数据管理');
 
 -         console.log('3. 可用于状态跟踪、缓存管理');
 
 -         console.log('4. 实现命令映射和分发');
 
 -         console.log('5. 在AIWork脚本中管理动态数据');
 
 -         console.log('=================================');
 
 -         
 
 -         return {
 
 -             configManager: configManager,
 
 -             userManager: userManager,
 
 -             taskTracker: taskTracker,
 
 -             cacheManager: cacheManager,
 
 -             commandMap: commandMap
 
 -         };
 
 -     } catch (e) {
 
 -         console.log('\n演示过程中出现错误:', e.message);
 
 -     }
 
 - };
 
  
- // 运行演示
 
 - try {
 
 -     console.log('启动Map类实际应用演示...');
 
 -     var applicationInstances = defineMapPracticalApplications();
 
 -     console.log('\n演示完成! 所有Map实例可在脚本中继续使用。');
 
 - } catch (e) {
 
 -     console.log('启动演示失败:', e.message);
 
 - }
 
  
- // 返回Map类供其他脚本使用
 
 - Map;
 
  复制代码 
 
 
  |  |    |  |   |  
  |