JS 數組,對象常用方法 集合

来源:https://www.cnblogs.com/TreeCTJ/archive/2019/10/29/11761242.html
-Advertisement-
Play Games

數組 1.數組去重: 主要是使用的 new Set() 方法 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set 2.替換數組指定位置元素 (splice) ,當然 splice 可 ...


數組

1.數組去重:   主要是使用的 new Set() 方法     https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set  

// 兩個方法  主要是使用到new Set() 
let repeatArr = [1,2,3,4,1,2,3,4];
let reasult
= [...new Set(repeatArr)] //方法一
let reasult2 = Array.from(new Set(repeatArr)) // 方法二 console.log(repeatArr,reasult,reasult2)

 

 

 

 

 

 2.替換數組指定位置元素 (splice)   ,當然 splice 可以進行的不僅僅是替換,這個方法可以  增加 、刪除、替換

// 使用splice 時 需要註意 它會改變原數組,並返回給你的是 你需要 刪除 替換 的元素,增加則是返回空數組
/*
   一共三個參數
參數一:代表你要開始的位置 (index值) 必填
參數二:代表你需要影響的元素個數 必填    註釋:1、代表你開始位置(包含),之後往後數,需要影響的元素個數 (如果沒有第三個元素,則是刪除,否則是替換) 2、如果為0 則是不影響任何原有元素(如果沒有第三個元素,則是不改變,否則是增加) 數三:代表你是否需要新的元素 註釋:後面可接多個
*/ let spliceArr = ['hello','world',1,2,3]; let result = spliceArr.splice(2,1,'崽種') let result2 = spliceArr.splice(3,0,'嘻嘻','哈哈') let result3 = spliceArr.splice(3,0) console.log(spliceArr,result,result2,result3)

3.數組轉換為對象  這個主要是用到擴展運算符

// 將數組轉換為對象  主要是用到擴展運算符(...)
// 數組轉換出來的對象 key值為數組的index值   value值為數組的元素
     let changeArr = ['hello','!','world'];
     let changeToObj = {...changeArr};
     console.log(changeToObj);

4.合併數組    (concat 方法 || 擴展運算符方法)

// 合併數組    (concat 方法 || 擴展運算符方法)
        let concatArr = [0, 1, 2]
        let concatArr2 = [3, 4, 's']
        let concatArr3 = [5]

        let result = concatArr.concat(concatArr2, concatArr3) //concat 數組自帶的合併方法

        let result2 = [...concatArr, ...concatArr2, ...concatArr3] //擴展運算符方法合併數組
console.log(result, result2)

5.求兩個數組的交集

// 求兩個數組的交集(即兩個數組的重覆部分)
// 註意需要去重,  filter裡面用來判斷部分 可寫 arr2.include() {includes 只返回 true 或 false}
        
     let arr = [0, 2, 4, 6, 8, 8] let arr2 = [1, 2, 3, 4, 5, 6, 8, 8, 2] let result = [...new Set(arr)].filter(item => arr2.indexOf(item) >= 0) let result2 = [...new Set(arr)].filter(item => arr2.includes(item)) console.log(result,result2)

6.過濾數組中的虛值   使用數組的過濾方法

  何謂虛值:false,0,' ',null,NaN,undefined  這些都是虛值 

// 過濾數組中的虛值   使用數組的過濾方法   何謂虛值:false,0,' ',null,NaN,undefined  這些都是虛值 
        let arr = [0,'',NaN,undefined,1,1,NaN]
        let result = arr.filter(Boolean)
        console.log(result);

 7.數組 排序 (sort)

// 數組排序 (sort 方法)
        let arr = [1, 2, 8598, 21, 8974, 12, 963, 125, 10]

        let result = arr.sort((a, b) => a - b) //升序

        let result = arr.sort((a, b) => b - a) //降序

        console.log(result)

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • “JSX” JSX就是Javascript和XML結合的一種格式。是一個 JavaScript 的語法擴展。 React發明瞭JSX,利用HTML語法來創建虛擬DOM。當遇到<,JSX就當HTML解析,遇到{就當JavaScript解析。 JSX,是一個 JavaScript 的語法擴展。JSX 可 ...
  • vue,element列表大數據卡頓問題,vue列表渲染慢,element表格渲染慢,表格渲染慢(卡),表格全選卡 ...
  • 結論 3XX開頭的HTTP狀態碼都表示重定向的響應。 301、308是永久重定向;302、303、307是臨時重定向。 301、302是http 1.0的內容,303、307、308是http1.1的內容。 301和302本來在規範中是不允許重定向時改變請求method的(將POST改為GET),實 ...
  • 1. Safari 3D變換會忽略z index的層級 在Safari瀏覽器下(此Safari瀏覽器包括iOS的Safari,iPhone上的微信瀏覽器,以及Mac OS X系統的Safari瀏覽器),當我們使用3D transform變換的時候,如果祖先元素沒有overflow:hidden/sc ...
  • Link: "原文鏈接" 譯文開始: 對網站進行性能優化對一個最容易的方法就是把JS和CSS進行打包壓縮。但是當你需要調試這些壓縮文件中的代碼的時候,會發生什麼?可能會是一場噩夢。但是,不用害怕,即將有一個解決方案到來,它就是Source Maps。 source maps提供一種將壓縮文件中的代碼 ...
  • 元素拖拽 作者:一粒塵土 時間:2019 10 30 使用範圍:兩個元素位置交換,移動元素到指定位置 涉及函數 |屬性|解釋 |: |: | |draggable|是否允許元素進行拖拽| |dragstart|拖拽開始觸發的函數,可在此獲取元素| |dragover|在目標元素內進行拖動時觸發的函數 ...
  • 從今天開始,持續更新typescript入門教程系列.... 目前ts越來越火,主流的前端框架,好比 angular,vue 3 均是採用ts來編寫,所有很多公司的項目都是用 ts 來寫的,所有是時候認真學習 ts 了 ts來源於微軟公司,越是大的公司,越是大的項目,越是推薦使用ts來編碼,ts是j ...
  • 實例方法和便捷方法是指jQuery可以直接通過鏈接操作的方法,是通過調用$.event上的方法(上一節介紹的底層方法)來實現的,常用的如下: on(types,selector,data,fn,one) ;為匹配元素集合中的每個元素綁定一個或多個類型的事件監聽函數 types ;事件類型字元串,多個 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...