Heim > Web-Frontend > js-Tutorial > Hauptteil

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

青灯夜游
Freigeben: 2021-03-19 09:59:18
nach vorne
4508 Leute haben es durchsucht

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 }
    Nach dem Login kopieren
  • 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 ]
    Nach dem Login kopieren
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 ]
    Nach dem Login kopieren
Vorlagenzeichenfolge
  • .
es5

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

  • es6

Vorlagenzeichenfolge

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

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

eg02:
  • function test() {
      return "哈哈哈";
    }
    console.log(`我是神雕大侠,我在笑:${test()}`); // 我是神雕大侠,我在笑
    Nach dem Login kopieren
  • 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);
});
Nach dem Login kopieren
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
Nach dem Login kopieren

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 ]
Nach dem Login kopieren

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 ]
Nach dem Login kopieren
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);
Nach dem Login kopieren

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 }
Nach dem Login kopieren

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren
  • 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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!