成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

worldligang / 2576人閱讀

摘要:前言本文將分享幾個(gè)在項(xiàng)目中常用的數(shù)組方法原文地址不定期有干貨更新哦歡迎數(shù)組排序按數(shù)組元素大小從小到大進(jìn)行排序按數(shù)組元素大小從大到小進(jìn)行排序按數(shù)組元素的從小到大進(jìn)行排序按數(shù)組元素的從大到小進(jìn)行排序數(shù)組去重?cái)?shù)組深拷貝數(shù)組等份分割數(shù)組扁平

前言

本文將分享幾個(gè)在項(xiàng)目中常用的數(shù)組方法~

原文地址: https://github.com/webfansplz...

不定期有干貨更新哦,歡迎watch,star!

1.數(shù)組排序
  const sortAry = [1, 5, 4, 3, 2, 6, 7];

  1.按數(shù)組元素大小從小到大進(jìn)行排序

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

  2.按數(shù)組元素大小從大到小進(jìn)行排序

  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. 按數(shù)組元素的id從小到大進(jìn)行排序

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

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

  4.按數(shù)組元素的id從大到小進(jìn)行排序

  sortId.sort((a, b) => b.id - a.id); 
  
  //[{ id: 3, name: "c" },{ id: 2, name: "b" },{ id: 1, name: "a" }]
};
2.數(shù)組去重
  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.數(shù)組深拷貝
 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.數(shù)組等份分割
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.數(shù)組扁平化
//二維數(shù)組扁平化

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]

//多維數(shù)組扁平化

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]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92669.html

相關(guān)文章

  • 來自Chart.js幾個(gè)JS helper function

    摘要:最近兼職的項(xiàng)目里面因?yàn)橐眠M(jìn)行數(shù)據(jù)的交互式可視化,用比較多,也踩了不少坑。內(nèi)部用這個(gè)進(jìn)行之類的時(shí),先深拷貝然后再擴(kuò)展,比較方便??梢钥闯鲋苯咏o原型進(jìn)行擴(kuò)展,寫起來非常簡潔。 最近兼職的項(xiàng)目里面因?yàn)橐胏harts進(jìn)行數(shù)據(jù)的交互式可視化,用Chart.js比較多,也踩了不少坑。為了改bug提pr外加學(xué)習(xí)一下提高姿勢水平花了一點(diǎn)時(shí)間看了下源碼,發(fā)現(xiàn)一些比較有用簡介的helper funct...

    Kross 評(píng)論0 收藏0
  • 雜貨 - 收藏集 - 掘金

    摘要:消息隊(duì)列技術(shù)介紹后端掘金一消息隊(duì)列概述消息隊(duì)列中間件是分布式系統(tǒng)中重要的組件,主要解決應(yīng)用耦合異步消息流量削鋒等問題。的內(nèi)存優(yōu)化后端掘金聲明本文內(nèi)容來自開發(fā)與運(yùn)維一書第八章,如轉(zhuǎn)載請聲明。 消息隊(duì)列技術(shù)介紹 - 后端 - 掘金一、 消息隊(duì)列概述 消息隊(duì)列中間件是分布式系統(tǒng)中重要的組件,主要解決應(yīng)用耦合、異步消息、流量削鋒等問題。實(shí)現(xiàn)高性能、高可用、可伸縮和最終一致性架構(gòu)。是大型分布式系...

    loostudy 評(píng)論0 收藏0
  • React16時(shí)代,該用什么姿勢寫 React ?

    摘要:的返回值將作為的參數(shù),如果返回,則不更新,不能返回或以外的值,否則會(huì)警告。在更新之前調(diào)用,此時(shí)已更新返回值作為的第個(gè)參數(shù)一般用于獲取之前的數(shù)據(jù)語法是從的返回值,默認(rèn)是的使用場景一般是獲取組建更新之前的滾動(dòng)條位置。 React16 后的各功能點(diǎn)是多個(gè)版本陸陸續(xù)續(xù)迭代增加的,本篇文章的講解是建立在 16.6.0 版本上本篇文章主旨在介紹 React16 之后版本中新增或修改的地方,所以對于...

    Reducto 評(píng)論0 收藏0
  • Move Mirror:使用 TensorFlow.js 在瀏覽器中預(yù)測姿勢之 AI 實(shí)驗(yàn)

    摘要:文和,創(chuàng)意實(shí)驗(yàn)室創(chuàng)意技術(shù)專家在機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺領(lǐng)域,姿勢預(yù)測或根據(jù)圖像數(shù)據(jù)探測人體及其姿勢的能力,堪稱最令人興奮而又最棘手的一個(gè)話題。使用,用戶可以直接在瀏覽器中運(yùn)行機(jī)器學(xué)習(xí)模型,無需服務(wù)器。 文 / ?Jane Friedhoff 和 Irene Alvarado,Google 創(chuàng)意實(shí)驗(yàn)室創(chuàng)意技術(shù)專家在機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺領(lǐng)域,姿勢預(yù)測或根據(jù)圖像數(shù)據(jù)探測人體及其姿勢的能力,堪稱最令人興...

    MiracleWong 評(píng)論0 收藏0
  • 一些ES6新姿勢

    摘要:原文對象屬性分配在處理對象的時(shí)候,你可能需要把多個(gè)對象合在一起,新的函數(shù)可以簡潔地做到這件事。對象合并我們的目標(biāo)是把行的對象合并為一個(gè)對象。需要注意的是只返回符合要求的第一個(gè)元素。行是返回第一個(gè)找到元素的索引,沒有對應(yīng)方法。 原文: Javascript ES6?—?Exploring the New Built-In Methods 對象屬性分配 在處理對象的時(shí)候,你可能需要把多個(gè)對...

    Yujiaao 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<