第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

javascript數(shù)組的幾個常用姿勢

標(biāo)簽:
JavaScript
前言

本文将分享几个在项目中常用的数组方法~

原文地址: https://github.com/webfansplz/blog/issues/4

不定期有干货更新哦,欢迎watch,star!

1.数组排序
  const sortAry = [1, 5, 4, 3, 2, 6, 7];

  1.按数组元素大小从小到大进行排序

  sortAry.sort((a, b) => a - b); //[1, 2, 3, 4, 5, 6, 7]

  2.按数组元素大小从大到小进行排序

  sortAry.sort((a, b) => b - a); //[7, 6, 5, 4, 3, 2, 1]

  const sortId = [
    { id: 3, name: "c" },
    { id: 1, name: "a" },
    { id: 2, name: "b" }
  ];

  3. 按数组元素的id从小到大进行排序

  sortId.sort((a, b) => a.id - b.id);

  //[{ id: 1, name: "a"},{id: 2, name: "b"},{id: 3, name: "c"}]

  4.按数组元素的id从大到小进行排序

  sortId.sort((a, b) => b.id - a.id); 

  //[{ id: 3, name: "c" },{ id: 2, name: "b" },{ id: 1, name: "a" }]
};
2.数组去重
  const uniqAry = ary => Array.from(new Set(ary));

  const uniqAry2 = ary => ary.filter((v, k) => ary.indexOf(v) == k);

  const ary = [1, 2, 1, 2, 3, 4, 3];

  uniqAry(ary)   //[1,2,3,4]

  uniqAry2(ary)  //[1,2,3,4]
3.数组深拷贝
 const copyAry = [1, 2, 3, 4];

 const ary = [].slice.apply(copyAry);

 ary.push(5);

 console.log(ary);     //[1, 2, 3, 4, 5]

 console.log(copyAry); //[1, 2, 3, 4]

 const ary2 = JSON.parse(JSON.stringify(copyAry));

 ary2.push(5);

 console.log(ary2);   //[1, 2, 3, 4, 5]

 console.log(copyAry); //[1, 2, 3, 4]
4.数组等份分割
const ary = [1, 2, 3, 4, 5, 6, 7];

const splitAry = (ary, size) => {
  let i = Math.ceil(ary.length / size),
    count = 0,
    box = [];
  while (count < i) {
    let s = count * size;
    box.push(ary.slice(s, s + size));
    count++;
  }
  return box;
};

console.log(splitAry(ary, 3)); //[[1,2,3],[4,5,6],[7]]

console.log(splitAry(ary,2)); // [[1,2],[3,4],[5,6],[7]]
5.数组扁平化
//二维数组扁平化

const ary = [[1, 2], [3, 4], [5, 6]];

const flatten = ary => ary.reduce((a, b) => [...a, ...b]);

console.log(flatten(ary)); //[1, 2, 3, 4, 5, 6]

//多维数组扁平化

const ary2 = [[1, [2, 3]], [4, [5, [6, 7]]]];

const flattenS = ary =>
  ary.reduce((a, b) => a.concat(Array.isArray(b) ? flattenS(b) : b), []);

console.log(flattenS(ary2)); //[1, 2, 3, 4, 5, 6, 7]
點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消