`

js获取数组非重复值利用map原理

    博客分类:
  • js
阅读更多
var arr = ["北京", "上海", "天津", "武汉", "上海", "天津", "武汉", "北京", "上海", "天津", "武汉", "天津", "武汉", "天津", "武汉", "天津", "武汉",
"北京", "上海", "天津", "武汉", "上海", "天津", "武汉", "北京", "上海", "天津", "武汉", "天津", "武汉", "天津", "武汉", "天津", "武汉",
"北京", "上海", "天津", "武汉", "上海", "天津", "武汉", "北京", "上海", "天津", "武汉", "天津", "武汉", "天津", "武汉", "天津", "武汉"];

var json = {};
for(var i = 0; i < arr.length; i++){
	json[arr[i]] = arr[i];
}

arr = new Array();
for(var key in json){
	arr.push(key);
}
alert(arr.toString());
// "北京", "上海", "天津", "武汉"

 

分享到:
评论

相关推荐

    javaScriptMap

    - 缓存机制,利用Map存储请求结果,避免重复请求。 - 在需要保留插入顺序的场景,Map比Object更适用。 总之,JavaScript Map是现代JavaScript编程中不可或缺的一部分,它的特性使得在处理复杂数据结构和需要维护...

    js代码-uniq 函数,实现数组去重

    利用Map对象的键唯一性,将数组元素作为键,值为true,最后将Map的键转换回数组。 ```javascript function uniq(arr) { return Array.from(new Map(arr.map(item =&gt; [item, true])).keys()); } ``` 每种方法...

    js常见经典面试题汇总

    - **for of**:遍历可迭代对象(如数组、Set、Map等),直接获取元素值。 #### 9. 扁平化数组代码实现 常见的扁平化数组方法包括: - 使用`isArray`配合`concat`。 - 使用`reduce`配合`isArray`和`concat`。 - ...

    JavaScript编程50例.rar

    JavaScript,也被称为JS,是一种广泛应用于网页和网络应用的轻量级编程语言。它与HTML和CSS一起,构成了web开发的三大核心技术。本资源“JavaScript编程50例”旨在通过50个实例来深入讲解JavaScript的基本语法、常用...

    JavaScript 学习实例。实用例子

    函数是JavaScript中重复利用代码的基本单位,可以封装复杂逻辑。了解如何定义、调用函数,以及函数表达式和箭头函数的使用。此外,模块化(如CommonJS、ES6的import/export)是组织代码的重要方式,实例中可能会...

    Javascript 完全手册(PDF)

    11. **性能优化**:JavaScript性能优化涉及减少DOM操作、避免阻塞主线程、使用事件委托、合理缓存、优化循环和充分利用浏览器提供的性能工具等技巧。 在学习过程中,配合实际项目练习和查阅权威文档,如MDN Web文档...

    Javascript经典封装代码

    - 原型链扩展:利用原型(prototype)对象,我们可以实现对象间的继承,封装通用方法,降低代码重复。 2. **模块化** - IIFE(立即执行函数表达式):常用于创建私有作用域,防止全局变量污染,同时也可封装代码...

    经典JavaScript教程.rar

    1. **基础语法**:JavaScript的基础语法包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组等)、操作符(算术、比较、逻辑等)以及控制流程(条件语句、循环结构)...

    字节前端第一期面试题(1).pdf

    ['1','2','3'].map(parseInt)的结果是[1, NaN, NaN],因为map方法会传递三个参数给回调函数,分别是当前元素的值、当前元素的索引和整个数组。而parseInt接收两个参数,第一个是字符串,第二个是基数,因此在map中...

    Javascript中55个经典技巧

    6. **对象解构**:从数组或对象中快速提取值,如 `const { prop } = obj;`。 7. **默认参数**:函数参数可以设置默认值,如 `function foo(a = 'default') {}`。 8. **剩余与扩展运算符**:`...` 可用于收集剩余...

    javascript程序优化问题第1/3页

    同时,利用JavaScript的数组方法,如`map`、`filter`和`reduce`,它们通常比传统的循环更高效。对于重复的计算,考虑使用缓存或记忆化技术。 另外,合理使用事件委托可减少事件监听器的数量,提高性能。当一个父...

    js常用代码段整理

    函数遍历了元素的`offsetParent`,累加`offsetTop`和`offsetLeft`的值,最终获取到的是元素相对于页面顶部和左侧的距离。 ```javascript function getAbsPosition(node) { var t = node.offsetTop; var l = node....

    freecodecamp_Basic_Data_Structures

    1. **数组**:数组是JavaScript中最基本的数据结构之一,用于存储一系列有序的值。可以包含任何类型的数据,如数字、字符串、对象等。数组的索引从0开始,可以通过索引来访问或修改数组中的元素。数组还有length属性...

    jquery开发入门整理(所需要了解的)

    jQuery并没有专门针对数组的操作方法,但它可以通过标准的JavaScript数组方法来操作数组。此外,jQuery提供的工具函数如`$.each()`、`$.map()`等可以方便地应用于数组处理。 ### 了解jQuery技巧来提高你的代码质量 ...

    Java面试经典题

    - **Map:** 键值对集合,键不允许重复,值可以重复;通过键访问元素。 - **Set:** 无序集合,不包含重复元素;不支持索引访问。 #### 8. final, finally, finalize 的区别 - `final`: 修饰符,用于指定变量、方法...

    underscore_lab

    "underscore_lab" 项目显然是一个专门研究和实践 underscore 库的实验环境,目的是为了深入理解 underscore 的工作原理以及如何有效地利用其功能。 underscore 库的核心思想是提供一套简洁而实用的工具函数,这些...

    COMP229-W21-Midterm-301173739

    4. **数组方法**:JavaScript提供了丰富的数组方法,如map、filter、reduce、forEach等,它们能高效地处理和操作数组。 5. **事件和DOM操作**:在Web开发中,JavaScript常用于处理用户交互,如点击事件、键盘输入等...

    ignite-quest-3:Desafio 3做火箭队

    JavaScript还提供了许多内置方法,如map、filter、reduce等,用于处理数组。 5. **原型与继承**:JavaScript中的对象可以通过原型链实现继承,原型对象可以通过__proto__属性访问,或使用Object.getPrototypeOf方法...

    Java面试题和答案.pdf

    - **`Map`**: 键值对集合,键不可重复,值可以重复。 **21. `HashMap`和`Hashtable`有什么区别?** - **线程安全性**: `Hashtable`是线程安全的,而`HashMap`不是。 - **性能**: `HashMap`在大多数情况下性能更好...

Global site tag (gtag.js) - Google Analytics