JavaScript基礎知識(數組)

来源:https://www.cnblogs.com/renzm0318/archive/2018/01/16/8276212.html
-Advertisement-
Play Games

21、數組 定義數組 * 字面量方式 var 數組名稱 = [ value,value,... ] * 構造函數方式 var 數組名稱 = new Array(value,value,...); var 數組名稱 = new Array(length) 創建對象方式創建數組分析圖 附:var num ...


 21、數組

  • 定義數組

* 字面量方式

       var 數組名稱 = [ value,value,... ]

* 構造函數方式

      var 數組名稱 = new Array(value,value,...)  var 數組名稱 = new Array(length)

              創建對象方式創建數組分析圖

 

附:var num1 = 100; // number            var num2 = new Number(100); // object

     var str1 = 'string'; // string             var str2 = new String('string'); // object

     var boo1 = true; // Boolean            var boo2 = new Boolean(true); // object

     var arr1 = [1,2,3,4]; // object          var arr2 = new Array(1,2,3,4); // object

     數組分類

²       索引數組 - 預設創建的數組

 (1)創建了空數組  (2)基於空數組創建索引數組    

格式:var 數組名稱 = new Array( );  數組名稱[索引值] =值; 

索引值是數字(從0開始)】

註:當在某個具體位置上沒有存儲任何值時 - undefined

²     關聯數組 - 類似於JavaScript的對象

格式:var 數組名稱 = new Array( );  數組名稱[索引值] =值;索引值是字元串】

註:ECMAScript官方規範中並沒有提供關聯數組的概念

    稀疏數組

概念:數組的長度大於數組中元素的個數   數組中元素沒有值的情況下,預設undefined

u    數組的屬性-長度

非稀疏數組:  length 屬性的值 = 當前數組包含元素的個數。

稀疏數組:    length 屬性的值 > 當前數組包含元素的個數。

eg: var arr2 = [ ];    arr2[14] = ‘a’ ;  console.log( arr2.length );// 輸出 15

   操作(獲取/修改/刪除)

²  獲取數組中的元素:數組名稱[索引值]

² 修改數組中的元素:數組名稱[索引值] = 新的值

² 刪除數組中的元素:delete 數組名稱[索引值]

註:只刪除對應位置上的值,但位置保留 - undefined

u  遍曆數組

     * for語句: 遍曆數組可以控制的開始和結束

     * for.in語句:只能遍曆數組從開始到結束

u  變數與數組

                                                                變數的賦值操作解析圖

 

              數組的賦值操作解析圖

 

u  二維數組

概念: 數組的嵌套結構   遍歷:for嵌套語句

l  常見的操作方法

  • 檢測數據類型
  • 轉換方法  toString( )
  • 進出棧—添加/刪除   【對原數組有影響;刪除則返回元素 添加則返回長度】

push( ) - 向數組的最後添加元素                pop() - 刪除數組中最後一個元素

unshfit( ) - 向數組的開始添加元素              shfit( ) - 刪除數組中第一個元素                

  • 排序方法

reverse( ) - 顛倒數組中元素的順序

sort( ) - 對數組的元素進行排序

【註: 預設排序不是由小到大的排序。若是兩位數,則按第一位數來排列】

方法:通過 數組名稱.sort( ) 裡面構造函數,來改變預設的排序,使得按順序序排列。

eg:  arr.sort(function(a,b){

       return a < b ;                     ------  < 由大到小;  > 由小到大

        });                   

  • 截取方法:

² slice(start,end)                                  【註:對原數組沒有任何影響】                             

start---表示從數組的哪個索引值開始截取;       end---預設情況下,表示數組最後結束

設置值: 表示截取到當前索引值的前一個         返回值: 截取的結果

var arr1 = arr.slice(1,3);    console.log(arr,arr1);

² splice(index, howmany, element1,element2,...elementN)      【註:預設是一個數組】

index---表示當前數組的索引值(刪除或添加的位置)

howmany ---表示刪除元素的個數(若為0,則表示不刪除)     element1---表示添加的元素

* 註意 - 被添加到數組的 index 位置上;       返回值 - 表示當前刪除的元素

  • 搜索內容—>位置

²  indexOf(element)

element - 表示在數組中搜索的元素內容

用法:從數組中索引值為0開始搜索,依次向後;   返回值:第一個匹配的元素的索引值

註:如果搜索的元素在數組中不存在,則返回 -1

²   lastIndexOf(element)

element - 表示在數組中搜索的元素內容

用法:                                     返回值:最後一個匹配的元素的索引值

 


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

-Advertisement-
Play Games
更多相關文章
  • 源碼下載:http://download.csdn.net/download/jjhahage/10034519 PS:一般情況下,我們在寫android程式的時候,想要實現登錄註冊功能,可以選擇自己用servlet作為服務端來實現過濾沒有註冊過的用戶,但是太麻煩,而且不是隨時都可以用的。這裡介紹一 ...
  • 比如 你想加一個百度的外鏈:那麼你就寫一個 百度:https://www.baidu.com ...
  • 1、概述 所有的typeof返回值為‘object’的對象都包含一個內部屬性[[Class]],我們將它可以看做內部的分類,而非傳統面向對象意義的分類。這個屬性無法直接訪問,一般通過Object.prototype.toString來查看。 2、示例代碼 ...
  • 1. 使用 video 元素的 ControlList API 通過 ControList API,不僅可以通過設置 nodownload 來隱藏下載按鈕,還可以設置 nofullscreen 隱藏全屏按鈕, 以及noremoteplayback 等屬性,具體的示例可以參考 github pages ...
  • 細數了一下,居然已經有連續5天沒有寫JS代碼,簡直醉了,這樣學習怕是根本學不好哦。 我在這裡定下一個規矩,晚上6點半鐘必須要回來,而且是必須要到圖書館寫代碼,9點半鐘一定要開始寫博客,確保每天有3個整小時的時間來學習JavaScript。 已經是1月中下旬了,自己知道自己的處境,現在基本上就只會一個 ...
  • 前面的話 iOS版Safari為了向開發人員傳達一些特殊信息,新增了一些專有事件。因為iOS設備既沒有滑鼠也沒有鍵盤,所以在為移動Safari開發交互性網頁時,常規的滑鼠和鍵盤事件根本不夠用。隨著Android 中的WebKit的加入,很多這樣的專有事件變成了事實標準,導致W3C開始制定Touch ...
  • jquery之遍歷與事件 一.遍歷: 二.事件的綁定 事件: ...
  • 上次我們聊了《Html5前端如何實現文字陰影》,其實在開發中現在對於陰影效果的使用已經越來越廣泛了,那麼今天我們就來說一說用同樣的手法實現邊框陰影。 一.邊框陰影box-shadow 邊框陰影參數:參數1 x-shadow:設置對象的陰影水平偏移值,單位可以是px、em或百分比等,允許負值。參數2 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...