91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nodejs中Set和Map怎么用

發布時間:2021-03-19 10:13:58 來源:億速云 閱讀:177 作者:小新 欄目:web開發

小編給大家分享一下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 }

數組降維

1、

// 數組降維: 把二維數組降低地道一維數組
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]

2、

// 數組降維: 把二維數組降低地道一維數組
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怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼伦贝尔市| 汕头市| 错那县| 安阳县| 临沂市| 浦城县| 辽中县| 兴仁县| 无棣县| 榆社县| 玉溪市| 黔江区| 永和县| 高邑县| 卓资县| 万安县| 南投县| 德惠市| 淮滨县| 玉林市| 青河县| 宁夏| 保德县| 林州市| 邢台市| 黔西| 闽清县| 平远县| 襄樊市| 章丘市| 宁乡县| 建德市| 保定市| 新竹县| 五华县| 余庆县| 广丰县| 临城县| 长武县| 登封市| 临潭县|