当前位置: 首页 > news >正文

亿万网站做软件的平台有哪些

亿万网站,做软件的平台有哪些,深圳市年年卡网络科技公司是什么,如何做个网站教程Map 是 JavaScript 中的一个内置对象#xff0c;它是一种键值对的集合#xff0c;类似于对象#xff08;Object#xff09;#xff0c;但有一些重要的区别和优势。Map 提供了更强大的功能#xff0c;特别是在处理键值对时更加灵活和高效。 1. Map 的基本特性 #xff…Map 是 JavaScript 中的一个内置对象它是一种键值对的集合类似于对象Object但有一些重要的区别和优势。Map 提供了更强大的功能特别是在处理键值对时更加灵活和高效。 1. Map 的基本特性 1键值对 Map 是一个简单的键值对集合其中每个键都映射到一个值。 键可以是任何数据类型包括对象、函数等而不仅仅是字符串或符号Symbol。 值也可以是任何数据类型。 2保持插入顺序 Map 会按照插入的顺序保存键值对。这意味着当你遍历 Map 时键值对会按照插入的顺序返回。 3动态大小 Map 的大小是动态的可以根据需要添加或删除键值对。 2. 创建 Map 可以通过以下方式创建一个 Map const myMap new Map(); 也可以通过一个数组的数组键值对数组初始化 Map const myMap new Map([[key1, value1],[key2, value2],[3, value3],[{ id: 1 }, value4], ]); 3. Map 的常用方法 1set(key, value)添加或更新键值对 2保持插入顺序 3动态大小 2. 创建 Map 可以通过以下方式创建一个 Map JavaScript 复制 const myMap new Map(); 也可以通过一个数组的数组键值对数组初始化 Map JavaScript 复制 const myMap new Map([[key1, value1],[key2, value2],[3, value3],[{ id: 1 }, value4], ]); 3. Map 的常用方法 1set(key, value)添加或更新键值对 JavaScript 复制 myMap.set(key1, newValue1); myMap.set(key3, value3); 2get(key)获取键对应的值 JavaScript 复制 console.log(myMap.get(key1)); // 输出: newValue1 console.log(myMap.get(key3)); // 输出: value3 console.log(myMap.get(key4)); // 输出: undefined 3has(key)检查键是否存在 JavaScript 复制 console.log(myMap.has(key1)); // 输出: true console.log(myMap.has(key4)); // 输出: false 4delete(key)删除键值对 JavaScript 复制 console.log(myMap.delete(key1)); // 输出: true console.log(myMap.delete(key4)); // 输出: false 5clear()清空所有键值对 JavaScript 复制 myMap.clear(); 6size获取键值对的数量 JavaScript 复制 console.log(myMap.size); // 输出: 0如果已经调用了 clear 4. 遍历 Map Map 提供了多种遍历方式包括 for...of 循环、forEach 方法等。 1for...of 循环 2性能 3保持顺序 4内置方法 如果键已存在则更新其值。 如果键不存在则添加新的键值对。 myMap.set(key1, newValue1); myMap.set(key3, value3); 2get(key)获取键对应的值 如果键存在返回对应的值。 如果键不存在返回 undefined。 console.log(myMap.get(key1)); // 输出: newValue1 console.log(myMap.get(key3)); // 输出: value3 console.log(myMap.get(key4)); // 输出: undefined 3has(key)检查键是否存在 如果键存在返回 true。 如果键不存在返回 false。 console.log(myMap.has(key1)); // 输出: true console.log(myMap.has(key4)); // 输出: false 4delete(key)删除键值对 如果键存在删除键值对并返回 true。 如果键不存在返回 false。 console.log(myMap.delete(key1)); // 输出: true console.log(myMap.delete(key4)); // 输出: false 5clear()清空所有键值对 删除 Map 中的所有键值对。 myMap.clear(); 6size获取键值对的数量 返回 Map 中的键值对数量。 console.log(myMap.size); // 输出: 0如果已经调用了 clear Map 是 JavaScript 中的一个内置对象它是一种键值对的集合类似于对象Object但有一些重要的区别和优势。Map 提供了更强大的功能特别是在处理键值对时更加灵活和高效。 1. Map 的基本特性 1键值对 Map 是一个简单的键值对集合其中每个键都映射到一个值。 键可以是任何数据类型包括对象、函数等而不仅仅是字符串或符号Symbol。 值也可以是任何数据类型。 Map 会按照插入的顺序保存键值对。这意味着当你遍历 Map 时键值对会按照插入的顺序返回。 Map 的大小是动态的可以根据需要添加或删除键值对。 如果键已存在则更新其值。 如果键不存在则添加新的键值对。 如果键存在返回对应的值。 如果键不存在返回 undefined。 如果键存在返回 true。 如果键不存在返回 false。 如果键存在删除键值对并返回 true。 如果键不存在返回 false。 删除 Map 中的所有键值对。 返回 Map 中的键值对数量。 遍历 Map 的键值对。 const myMap new Map([[key1, value1],[key2, value2], ]);for (const [key, value] of myMap) {console.log(key, value); } // 输出: // key1 value1 // key2 value2 2forEach 方法 遍历 Map 的键值对。 myMap.forEach((value, key) {console.log(key, value); }); // 输出: // key1 value1 // key2 value2 3keys()、values() 和 entries() 方法 keys()返回一个包含所有键的迭代器。 values()返回一个包含所有值的迭代器。 entries()返回一个包含所有键值对的迭代器。 for (const key of myMap.keys()) {console.log(key); } // 输出: // key1 // key2for (const value of myMap.values()) {console.log(value); } // 输出: // value1 // value2for (const [key, value] of myMap.entries()) {console.log(key, value); } // 输出: // key1 value1 // key2 value2 5. Map 与 Object 的区别 1键的类型 Object键只能是字符串或符号Symbol。 Map键可以是任何数据类型包括对象、函数等。 Object在处理大量数据时性能可能会下降尤其是在频繁添加和删除键值对时。 Map在处理大量数据时性能更好尤其是在频繁添加和删除键值对时。 Object不保证键的顺序。 Map按照插入顺序保存键值对遍历时会按照插入顺序返回。 Object没有内置的 size 属性或 clear 方法。 Map提供了 size 属性和 clear 方法。 Object没有内置的 size 属性或 clear 方法。 Map提供了 size 属性和 clear 方法。 6. 使用场景 Map 适用于以下场景 需要存储键值对且键的类型不局限于字符串或符号。 需要频繁添加和删除键值对。 需要保持键值对的插入顺序。 需要高效地遍历键值对。 7. 示例使用 Map 处理三级下拉框数据 以下是一个完整的示例展示如何在 Vue 2 中使用 Map 处理三级下拉框的数据。 数据结构 const data [{id: 1,name: 省份1,cities: [{id: 11,name: 城市1-1,areas: [{ id: 111, name: 区域1-1-1 },{ id: 112, name: 区域1-1-2 },],},{id: 12,name: 城市1-2,areas: [{ id: 121, name: 区域1-2-1 },{ id: 122, name: 区域1-2-2 },],},],},{id: 2,name: 省份2,cities: [{id: 21,name: 城市2-1,areas: [{ id: 211, name: 区域2-1-1 },{ id: 212, name: 区域2-1-2 },],},{id: 22,name: 城市2-2,areas: [{ id: 221, name: 区域2-2-1 },{ id: 222, name: 区域2-2-2 },],},],}, ]; Vue 组件 templatedivh1三级下拉框示例/h1el-selectv-modelselectedProvinceplaceholder请选择省份changeonProvinceChangeel-optionv-forprovince in data:keyprovince.id:labelprovince.name:valueprovince.id/el-option/el-selectel-selectv-modelselectedCityplaceholder请选择城市changeonCityChange:disabled!selectedProvinceel-optionv-forcity in provinceMap.get(selectedProvince)?.cities:keycity.id:labelcity.name:valuecity.id/el-option/el-selectel-selectv-modelselectedAreaplaceholder请选择区域changeonAreaChange:disabled!selectedCityel-optionv-forarea in cityMap.get(selectedCity)?.areas:keyarea.id:labelarea.name:valuearea.id/el-option/el-select/div /templatescript export default {data() {return {data, // 原始数据provinceMap: new Map(), // 省份 MapcityMap: new Map(), // 城市 MapselectedProvince: null, // 选中的省份selectedCity: null, // 选中的城市selectedArea: null, // 选中的区域};},created() {this.initializeMaps();},methods: {initializeMaps() {// 初始化省份 Mapthis.data.forEach(province {this.provinceMap.set(province.id, province);province.cities.forEach(city {this.cityMap.set(city.id, city);});});},onProvinceChange(provinceId) {this.selectedProvince provinceId;this.selectedCity null;this.selectedArea null;},onCityChange(cityId) {this.selectedCity cityId;this.selectedArea null;},onAreaChange(areaId) {this.selectedArea areaId;},}, }; /script 代码解释 1initializeMaps 方法 在 created 钩子中调用 initializeMaps 方法。 将省份和城市的数据分别存储到 provinceMap 和 cityMap 中。 这样可以快速通过省份 ID 获取省份数据通过城市 ID 获取城市数据。 2onProvinceChange 方法 当省份发生变化时更新 selectedProvince。 清空城市和区域的选择因为省份变化后城市和区域的选择需要重新选择。 3onCityChange 方法 当城市发生变化时更新 selectedCity。 清空区域的选择因为城市变化后区域的选择需要重新选择。 4onAreaChange 方法 当区域发生变化时更新 selectedArea。 5模板中的动态绑定 使用 v-model 绑定选中的省份、城市和区域的 ID。 使用 v-for 动态生成下拉框的选项。 使用 :disabled 属性控制下拉框的启用状态确保只有在选中上一级时才能选择下一级。 效果 运行项目后你将看到一个包含三级下拉框的页面。选择省份后城市下拉框会动态更新选择城市后区域下拉框会动态更新。 总结 通过使用 Map 处理三级下拉框的数据可以实现高效的级联选择功能。这种方式不仅代码清晰而且性能优越特别适合处理复杂的数据结构。
http://www.hkea.cn/news/14506326/

相关文章:

  • 中小学网站建设论文兰州网站优化推广
  • 快速提高网站关键词排名优化发帖推广哪个平台好
  • 做云盘网站哪个好下载京东购物网
  • 文登住房和城乡建设局网站跨境电商亚马逊开店流程
  • 爱美刻在线制作网站帝国cms免费模板
  • 山东卓商网站建设公司网络优化的工作内容有哪些
  • 山东省住房城乡建设厅查询网站首页app和网站开发哪个难
  • win2008 r2 搭建网站ai软件
  • 两人做性视频网站餐饮业网站源码 织梦
  • 双模网站开发菏泽做网站优化的
  • 凡科做的手机网站可以导出来浙江省建设执业资格中心网站
  • 小红书信息流广告投放北京百度推广优化
  • 网站建设的七个步骤开设计公司要怎么规划
  • 合肥龙岗医院网站建设一个网站如何做cdn加速
  • 遵义网站建设推广桂林人论坛app
  • 建立大型网站流程一个网站数据库
  • 百度怎么自己做网站提供手机网站建设企业
  • 德州市网站建设广州网站设计十年乐云seo
  • 网站可信认证廊坊做网站1766534168
  • 公众号做微网站网站开发是啥了
  • 网站域名备案与不备案的区别搜索引擎营销的常见方式
  • 阿里云手机做网站门户网站建设系统
  • 杭州企业网站专业设计wordpress 游戏 模板
  • 电子商务网站建设教学免费空间域名申请
  • 淮滨网站建设公司网页广告培训班
  • 专门做网页设计网站谷歌网站站长指南
  • 东莞网站建设备案一键提交网站
  • 呼和浩特网站建设网络公司遂溪网站开发公司
  • 备案网站的规则如何在自己网站做直播
  • 营销型网站套餐外贸一年赚个100万难吗