Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über die Verwendung von Set und Map in Nodejs

Eine kurze Diskussion über die Verwendung von Set und Map in Nodejs

青灯夜游
青灯夜游nach vorne
2021-03-19 09:59:184539Durchsuche

Dieser Artikel führt Sie durch die Verwendung von Set und Map in Node. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Eine kurze Diskussion über die Verwendung von Set und Map in Nodejs

Verwandte Empfehlungen: „nodejs-Tutorial

Der Datentypsatz

ähnelt einem Array. Der Unterschied besteht darin, dass keine doppelten Elemente gespeichert werden können. Anwendungsszenario: Array-Deduplizierung

    eg01: Grundlegende Verwendung
  • let set1 = new Set([10, 20, 30, 40, 10, 20, 30, 50]);
    console.log(set1); // Set(5) { 10, 20, 30, 40, 50 }
  • eg02: Array-Deduplizierung

    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: Array-Deduplizierung, wandeln Sie den obigen Vorgang in einen Satz um
  • let arr = [10, 20, 30, 40, 10, 20, 30, 50];
    let arrNew = [...new Set(arr)];
    console.log(arrNew); // [ 10, 20, 30, 40, 50 ]
Vorlagenzeichenfolge
  • .
es5

Strings haben kein Format und Variablen können nicht darin geschrieben werden

  • es6

Vorlagenzeichenfolge

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()}`); // 我是神雕大侠,我在笑
  • Methoden zur Ergänzung von Arrays
  • 1.forEach ()

Durchlaufen Sie das Array und übergeben Sie jedes durchlaufene Element an die Rückruffunktion.

Kein Rückgabewert

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()

Durchlaufen Sie das Array, es gibt einen Rückgabewert

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(); Die Methode Filter

filter() gibt ein neues Array zurück. Die Elemente im neuen Array sind die Elemente, die die Bedingungen erfüllen, nachdem die Prüfung bestanden wurde Objektdestrukturierung und -zuweisung

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 ]
Array-Dimensionalitätsreduzierung

1,

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);

2,

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 }

Array-Deduplizierung

Array-Deduplizierung: Entfernen Sie doppelte Elemente im Array. Eins: Ergänzende Methode der Deduplizierung 1: Beurteilungsmethode nach dem Sortieren

// 数组降维: 把二维数组降低地道一维数组
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]

Zwei: Ergänzende Methode der Deduplizierung 2: Objektmethode verwenden


Prinzip: Die Attribute der verwendeten Objekte dürfen nicht denselben Namen haben

Grammatiküberprüfung von Objekten: Wert:

Die Der Attributname ist nicht vorhanden. Der Attributname ist nicht definiert. Der Attributname ist vorhanden, und der entfernte Attributwert muss der entsprechende Attributwert sein. Zuweisung:

    Der Attributname ist nicht vorhanden, was dem dynamischen Hinzufügen von Attributen entspricht
  • Wenn der Attributname vorhanden ist, ändern Sie den ursprünglichen Attributwert.
// 数组降维: 把二维数组降低地道一维数组
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]
  • Aktualisieren Sie die Array-Dimension Video
  • ! !

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Verwendung von Set und Map in Nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen