我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Nodejs中Set和Map怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Nodejs中Set和Map怎么用

小编给大家分享一下Nodejs中Set和Map怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

数据类型set

作用和数组类似,和数组不同的是:它不能存放重复的元素

  • 应用场景:数组去重

  • eg01:基本使用

let set1 = new Set([10, 20, 30, 40, 10, 20, 30, 50]);console.log(set1); // Set(5) { 10, 20, 30, 40, 50 }
  • eg02:数组去重

let arr = [10, 20, 30, 40, 10, 20, 30, 50];let set = new Set(arr);console.log(set); // Set(5) { 10, 20, 30, 40, 50 }let arrNew = [...set];console.log(arrNew); // [ 10, 20, 30, 40, 50 ]
  • eg03:数组去重,把上面操作变成一句话

let arr = [10, 20, 30, 40, 10, 20, 30, 50];let arrNew = [...new Set(arr)];console.log(arrNew); // [ 10, 20, 30, 40, 50 ]

模板字符串

  • es5

字符串没有格式,里面也不能写变量

  • es6

模板字符串

let author = "波波";let str = `    静夜思        ${author}    床前明月光,    低下鞋两双,    举头望明月,    低头思阿香. `;console.log(str);
  • eg01:

let name = "千里";let age = 38;let score = 100;console.log(`我的名字是${name},我的年龄是${age},我的成绩是${score}`);
  • eg02:

function test() {  return "哈哈哈";}console.log(`我是神雕大侠,我在笑:${test()}`); // 我是神雕大侠,我在笑

补充数组的方法

1、forEach()

遍历数组,把遍历出来的每一项交给回调函数.

没有返回值

let arr = [10, 20, 30, 40];arr.forEach(function (item, index) {  // item 就是遍历出来的每一项  // index就是遍历出来的每一项对应的索引  console.log(item, index);});

eg01:

let arr = [10, 20, 30, 50, 33, 22];let max = -Infinity;arr.forEach((item, index) => {  if (item > max) {    max = item;  }});console.log(max); // 50

2、map()

遍历数组的,有返回值

let arr = [10, 20, 30, 40];let arrNew = arr.map(function (item, index) {  // item 就是遍历出来的每一项  // index就是遍历出来的每一项对应的索引  //   console.log(item, index);  return item * item;});console.log(arrNew); // [ 100, 400, 900, 1600 ]

3、filter(); 过滤器

filter()方法会返回一个新的数组,新的数组中的元素是通过检查后符合条件的元素

eg01:

let arr = [10, 20, 11, 21, 30, 31, 34, 56, 67];let arrNew = arr.filter(function (item, index) {  // item 就是遍历出来的每一项  // index就是遍历出来的每一项对应的索引  //   console.log(item, index);  return item % 2 == 0; // 如果条件成立,会返回当前项,如果条件不成立,不会返回当前项});console.log(arrNew); // [ 10, 20, 30, 34, 56 ]

eg02:

let arr = [  { name: "波波", age: 38 },  { name: "千里", age: 18 },  { name: "哲锴", age: 28 },  { age: 45 },];let arrNew = arr.filter((item, index) => {  return item.name;});console.log(arrNew);

补充对象解构赋值

let obj = {  name: "波波",  age: 38,  gender: "男",  score: 100,};// 1.// let { name, age, gender, score } = obj;// console.log(name, age, gender, score); // 波波 38 男 100// 2. obj2就相当于是obj对象里面除了name属性之前的属性们组成的一个对象let { name, age, ...obj2 } = obj;console.log(obj2); // { gender: '男', score: 100 }

数组降维

// 数组降维: 把二维数组降低地道一维数组var arr = [  [10, 20],  [30, 40, 50],  [60, 70],];// 使用扩展运算符...var arrNew = [];// 遍历二维数组arr.forEach((v) => {  //   console.log(v);  arrNew.push(...v);});console.log(arrNew); // [10, 20, 30, 40, 50, 60, 70]


// 数组降维: 把二维数组降低地道一维数组var arr = [10, 20, [30, 40, 50], 60, 70];// 使用扩展运算符...var arrNew = [];// 遍历二维数组arr.forEach((v) => {  if (Array.isArray(v)) {    arrNew.push(...v);  } else {    arrNew.push(v);  }});console.log(arrNew); // [10, 20, 30, 40, 50, 60, 70]

数组去重

数组去重:把数组中重复的项给去掉

  • 一: 补充去重的方法1:排序后判断法

var arrNew = [];// 排序arr.sort((a, b) => {  return a - b;});console.log(arr); // [10, 10, 20, 20, 30, 40, 50]// 判断arr.forEach((v, i) => {  if (v !== arr[i + 1]) {    arrNew.push(v);  }});console.log(arrNew); // [ 10, 20, 30, 40, 50 ]
  • 二:补充去去重的方法2:使用对象法

原理:是利用的对象的属性不能重名

对象的语法复习:

取值:

属性名不存在,取出的是undefined

属性名存在,取出的肯定是对应的属性值

赋值:

属性名不存在,就相当于是动态的添加属性

属性名存在,那就修改原来的属性值

var obj = {}; // 检测有没有重复的元素var arrNew = []; // 去重后存放元素的数组// 遍历要去重的数组arr.forEach((v) => {  // 判断  if (obj[v] == undefined) {    arrNew.push(v); // 不存在就把当前这个v存起来    obj[v] = "值"; // 把当前这个元素作为obj对象的属性存进obj对象里  }});console.log(arrNew); // [ 10, 20, 30, 40, 50 ]

数组升维

var arr = [    { type: "电子产品", name: "iPhone", price: 8888 },    { type: "家具", name: "桌子", price: 100 },    { type: "食品", name: "瓜子", price: 10 },    { type: "家具", name: "椅子", price: 380 },    { type: "电子产品", name: "小米手机", price: 1380 },    { type: "食品", name: "辣条", price: 5 },    { type: "食品", name: "咖啡", price: 50 },];var obj = {};var arrNew = [];arr.forEach((v) => {    //   console.log(v);    if (obj[v.type] === undefined) {        // 第一次出现这个产品类型        obj[v.type] = 1;        // 把当前遍历出来的这个数据存进arrNew中        arrNew.push({            type: v.type,            data: [v],        });    } else {        arrNew.forEach((v2, j) => {            if (v.type === v2.type) {                arrNew[j].data.push(v);            }        });    }});console.log(arrNew);

输出结果如下:

Nodejs中Set和Map怎么用

以上是“Nodejs中Set和Map怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Nodejs中Set和Map怎么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Nodejs中Set和Map怎么用

小编给大家分享一下Nodejs中Set和Map怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据类型set作用和数组类似,和数组不同的是:它不能存放重复的元
2023-06-14

ES6中的Map与Set怎么用

这篇文章主要介绍了ES6中的Map与Set怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ES6中的Map与Set怎么用文章都会有所收获,下面我们一起来看看吧。Map 对象Map 对象保存键值对。任何值(对
2023-06-27

C++中map和set如何使用

这篇文章主要介绍了C++中map和set如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++中map和set如何使用文章都会有所收获,下面我们一起来看看吧。一、set1.1 set的介绍首先要知道set
2023-07-05

Map与Set怎么使用

这篇文章主要介绍“Map与Set怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Map与Set怎么使用”文章能帮助大家解决问题。1.基本概念我们先来了解以下 Map 和 Set 的基本概念,这
2023-07-02

C++红黑树应用之set和map怎么使用

这篇文章主要介绍“C++红黑树应用之set和map怎么使用”,在日常操作中,相信很多人在C++红黑树应用之set和map怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++红黑树应用之set和map怎
2023-07-05

js中Map和Set的用法及区别是什么

今天小编给大家分享一下js中Map和Set的用法及区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先了解一下 Ma
2023-06-29

ES6基础语法之Map和Set对象怎么用

本篇内容主要讲解“ES6基础语法之Map和Set对象怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ES6基础语法之Map和Set对象怎么用”吧!一、Map对象Map 对象保存键值对。任何值
2023-06-30

C++中map和set封装实现示例

我们知道,map与set所使用的都是红黑树,下面这篇文章主要给大家介绍了关于C++中map和set封装实现的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-06

深入聊一聊JDK中的Map和Set

这篇文章主要给大家介绍了关于JDK中Map和Set的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家学习或者使用jdk具有一定的参考学习价值,需要的朋友可以参考下
2022-12-21

C++红黑树应用之手搓set和map

这篇文章主要为大家详细介绍了如何使用红黑树封装set和map,且必须保证两种数据结构复用同一棵红黑树,且满足set和map的性质,set的value不可被改变,而map的value可以被改变,需要的可以参考一下
2023-03-21

一文详解JS中的Map、Set、WeakMap和WeakSet

在JavaScript中,Map、Set、WeakMap和WeakSet是四个不同的数据结构,它们都有不同的特点和用途,本文详细介绍了Map、Set、WeakMap和WeakSet的用法及区别,需要的朋友可以参考下
2023-05-18

Java集合框架中如何掌握Map和Set 的使用

这篇文章将为大家详细讲解有关Java集合框架中如何掌握Map和Set 的使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 搜索1.1 场景引入在学习编程时,我们常见的搜索方式有:直接遍
2023-06-22

ES6中如何使用Map与Set集合

本篇内容主要讲解“ES6中如何使用Map与Set集合”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ES6中如何使用Map与Set集合”吧!集合的概念以及和数组的区别其实数组也是集合, 只不过数组
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录