JS數組和字元串彙總

来源:https://www.cnblogs.com/buildnewhomeland/archive/2020/04/07/12653276.html
-Advertisement-
Play Games

數組 1. 基本常識 數組是引用類型的一種,什麼是引用類型呢? 和原始類型不同,引用類型變數中存放的僅僅是 引用對象的記憶體地址 。 所以,當我們複製引用類型的時候,複製的僅僅是它的地址罷了。 也就是說,任意一個變數發生變化,地址上的對象也隨之變化。 舉個例子: 2. 常用屬性與方法 屬性:Array ...


數組

1. 基本常識

數組是引用類型的一種,什麼是引用類型呢?

和原始類型不同,引用類型變數中存放的僅僅是引用對象的記憶體地址

所以,當我們複製引用類型的時候,複製的僅僅是它的地址罷了。

也就是說,任意一個變數發生變化,地址上的對象也隨之變化。

舉個例子:

var a = [1,2,3];
var b = a;
b[0] = 'first';
console.log(b[0]); // 'first'
console.log(a[0]); // 'first'

2. 常用屬性與方法

屬性:Array.length 獲取數組長度(也就是數組元素的個數)

方法:

  • 檢查數組
    value instanceof Array => true / false

Array.siArray(value) => true / false

  • 轉換方法
    toString() / join(sep) => 變成字元串,自定義分隔符(預設逗號分隔)

valueOf() => 返回指定對象本身

  • 棧方法
    放砝碼,先進後出

push() => 在數組末尾添加元素

pop() => 在數組末尾刪除元素

  • 隊列方法
    裝子彈,先進先出

unshift() => 在數組開頭添加元素

shift() => 在數組開頭刪除元素

  • 重排序方法
    reverse() => 反轉

sort() => 升序(值逐漸升高)

註意:sort()比較的是字元串!sort()中可以傳入一個比較函數。

  • 操作方法
    基於原數組,在新的副本上操作(不影響原數組),只是返回新數組。

concat() => 數組元素拼接 在數組末尾添加元素,如果是數組那就將數組裡的元素添加到末尾

slice() => 切片 顧頭不顧尾

splice(startIndex, deleteNum, newItem) => 有三個參數,分別是開始位置、移除項數、被插入項。可以進行三種操作:刪除、插入、替換。

- Array.splice(1, 2) => 從下標1開始,刪除2個元素(下標1和下標2被刪)。
- Array.splice(1, 0, 'newItem'); => 在下標1處插入元素'newItem'。
- Array.splice(1, 0, 'newItem01', 'newItem02'); => 在下標1處插入多個元素。
- Array.splice(1, 2, 'newItem01', 'newItem02'); => 在下標1處先刪除2個元素,再插入新的元素(同上,1個或多個)。
  • 位置方法
    indexOf(value, [seekIndex]) => value的下標 第一個參數表示要查找的元素,第二個參數表示查找的起始位置。

lastIndexOf(value) => value最後一次出現的下標

註意:如果返回-1,表示數組中沒有該項。

  • 未完待續……

字元串

1. 基本常識

字元串作為基本數據類型,它是不可以改變原始值的,屬於不可變類型。(數組屬於可變類型)

那麼,它為什麼可以有屬性和方法呢?

因為它是包裝類,首先會通過new String()創建一個字元串對象,這樣就擁有了對象的屬性和方法。

當屬性和方法調用完畢後,這個字元串對象就會銷毀。

2. 常用屬性與方法

屬性:String.length 獲取字元串長度(字元個數)

方法:

  • 字元方法
    charAt(index) => 返回對應下標的字元

charCodeAt(index) => 返回對應下標的字元編號

  • 轉換方法
    String.split(sep) => 變成數組,自定義分隔符

  • 操作方法
    和數組的操作方法concat()、slice()、splice()類似。

String.concat() => 字元串拼接(和加號的作用相同,先把符號左右轉換成字元串然後相加)

String.slice() => 切片,顧頭不顧尾

String.substring() => 同slice() 註意:傳入負數直接轉換為0

String.substr(stratIndex, length) => 也是切片,不同的是第一個參數是開始下標位置,第二個參數是操作的字元長度。

  • 位置方法
    indexOf() => 返回查找字元的下標

lastIndexOf() => 最後出現的下標

註意:沒有找到返回-1,第二個參數表示開始查找的下標

trim() => 刪除前置和尾碼的所有空格

  • 大小寫轉換
    toLowerCase() => 字元串全部小寫

toUpperCase() => 字元串全部大寫

  • 未完待續……

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

-Advertisement-
Play Games
更多相關文章
  • 老孟導讀:今天給大家分享一下我在學習Flutter的過程中整理的資料,這些文章或者開源項目都是精挑細選的,希望可以幫助到到家。另外相關資料會在Github一直更新,歡迎大家fork,如果喜歡的話給個小星星,非常感謝,Github 地址: "https://github.com/781238222/f ...
  • 新聞 1. "谷歌放出玩家大福利:Android精品游戲全免費 暢玩30天" 1. "[圖]谷歌Play商城測試新界面 移除“已安裝”和“庫”兩個子標簽頁" 1. "LineageOS 17.1發佈:基於Android 10定製 自帶主題引擎" 教程 1. "Kotlin Vocabulary | ...
  • JavaScript入門篇—第1章 請做好準備 本章節主要講解如何在HTML文件中添加JavaScript代碼,掌握必備的基礎語法,為以後來章學習打下基礎。 1-1 為什麼學習JavaScript 1-2 新朋友你在哪裡(如何插入JS) 1-3 我也可以獨立(引用JS外部文件) 1-4 找到你的位置 ...
  • 哈嘍小伙伴們,愛說‘廢’話的Z又回來了,歡迎來到Super IT曾的博客時間,我說啦這個月要帶的福利,說了更的博客肯定不能水你們,要一起進步學習嘛,今天我就把我學習最經典的Blue的ES6掌握的重點羅列出來,不足的歡迎提問留言。 ...
  • <html> <head> <meta charset="utf-8" /> <title></title> <script> window.onload=function(){ setInterval("rollImg()",2000); } var imgarr=["https://www.w3 ...
  • 使用<a>、<img>、<map>元素,實現點擊圖片上的某個區域跳轉鏈接功能: 文件目錄: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content=" ...
  • 現在前端工程師的工作已經不想幾年前那樣,僅僅寫一些頁面調整一下樣式就可以拿到高薪了。由於前端技術的發展,以及企業對前端工程師的要求越來越高,現在前端工作也越來越複雜。不過只要掌握目前比較流行的主流框架,完全可以輕鬆應對老闆提出的各種需求。今天就和大家聊聊前端工程師必須瞭解的主流前端框架。 已經從事前 ...
  • 以前寫的,找不到效果圖了,就不上效果圖了,直接上代碼好啦,免得自己忘了怎麼寫 .login-box { //login-box就是 需要修改樣式的 盒子 width: 200px; margin-top: 10px; height: calc(100% - 88px); overflow-y: au ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...