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
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...