您現在的位置是:電腦技術吧?>? 編程技術 ??>??Java數組,jquery數組??>??正文詳情

Java數組,jquery數組

宜圣杰2019-12-12 12:22:00 人圍觀
簡介js數組怎么實現的一。數組數組的定義是一組按順序排列的值。單個值稱為元素。他們的職位有編號。從0開始,整個數組用方括號表示。Var arr=[12,34,56];上面的代碼表示已數組api

一、數組的定義  數組是按次序排列的一組值,單個值稱為元素,他們的位置都有編號,從 0 開始,整個數組用方括號表示。

  var arr = [ 12, 34, 56 ];  上面代碼就表示,創建了一個數組,12是0號位置,34是1一號位置,56是2號位置,和Java中的數組下標是一樣的,都是從0 開始。

  除了定義時賦值,數組也可以先定義,后賦值。

  var arr;  arr[0] = 12;  arr[1] = 34;  arr[2] = 56;  任意一種數據類型都可以放入數組,  var arr = [12,3.14,'a',123,null,undefined, function (){return true;} ];  上面分別放入了 整形,浮點型,字符型,字符串,null,undefined,函數。

  數組也可以放進去,如果放進去數組的話,就構成了多維數組。

  二、數組與對象的關系  本質上數組也屬于對象,是字典結構的一個變種。

  console.log( typeof [1,2,3] ) //object  上面代碼說明數組是一種特殊的對象,所有typeof運算符,返回數組的類型是object。

  數組的特殊性體現在,它的鍵默認是按次序排列的整數(1,2,3,4....),所有數組不用為每個元素指定鍵名,而對象的每個成員都必須指定鍵名,另外,數組以字符串來識別鍵名,非字符串的鍵名會被轉化為字符串,所以數值或字符串作為鍵名,都能讀取數組的成員。

  var arr = [12, 34, 56];  arr['0'] // 12  arr[0] // 12  上面代碼分別用數值或字符串作為鍵名,都能讀取數組。

  需喲注意的是,上面的一條規定在賦值時也成立,如果一個值可以被轉化為整數,則以該值為鍵名,等于以對應的整數為鍵名,  var a = [];  a['1000'] = 'abc';  a[1000] // 'abc'  a[1.00] = 6;  a[1] // 1  通過上面代碼可以看到,'1000'和 1.00都可以被轉化為整數。

  對象有兩種讀取成員的方法:點結構(object.key)和方括號結構(object[key]),但是對于數組的鍵名不能使用點結構,arr.0是非法的,因為單獨的數字不能作為標示符,所以數組成員只能通過 方括號結構來讀取成員。

arr[0](方括號是運算符,可以接受數值)。

  三、length屬性  數組的length屬性,返回的是數組成員的數量。

  var arr = [12,34,56];  console.log(arr.length); //3  JavaScript使用一個32位整數保存數組的元素個數,這意味著,這組成員最多有 2的32次方-1(4294967295),也就是說length屬性的最大值就是4294967295。

  數組的length屬性和對象的length屬性是有區別的,主要是數組,就一定有length屬性,而對象不一定有。

而且,數組的length屬性是一個動態的值,等于鍵名中最大整數加1。

  var arr = ['a', 'b'];  arr.length // 2  arr[2] = 'c';  arr.length // 3  arr[9] = 'd';  arr.length // 10  arr[1000] = 'e';  arr.length // 1001  上面代碼也表示,數組的鍵值不需要連續,length屬性的值總是比最大的那個整數加 1,另外,這也表明數組是一種動態的數據結構,可以隨時的增減成員。

  length屬性是可寫的,如果人為設置一個小于當前成員個數的值,該數組的成員就會自動縮減到length設置的值。

  var arr = [ 'a', 'b', 'c' ];  arr.length // 3  arr.length = 2;  alert(arr); // [a, b]  上面代碼,length屬性被設置為 2,則數組下標的最大值只能是 1,所以arr[2]這個值被刪除了。

  通過這個我們可以找到一個清空數組元素的一個最簡單的方法,就是將length屬性設置為0。

  var arr = [ 'a', 'b', 'c' ];  arr.length = 0;  alert(arr); // []   反過來,如果將length值設置為大于當前元素的個數,則數組的成員數量會增加到這個值,新的位置填入空元素(undefined)。

  var arr = [1,2];  arr.length = 3;  for(var i=0; i  console.log(arr[i]);  }  //打印 1 2 undefined  上面代碼表示,當length屬性的值設為大于數組個數時,新增的位置都填充為undefined。

  如果設置length為不合法的值,JavaScript會報錯。

  // 設置負值  [].length = -1  // RangeError: Invalid array length  // 數組元素個數大于等于2的32次方  [].length = Math.pow(2,32)  // RangeError: Invalid array length  // 設置字符串  [].length = 'abc'  // RangeError: Invalid array length  值得注意的是,由于數組本質上也是一種對象,所以我們可以為數組添加屬性,但是這并不影響length屬性的值。

  var a = [];  a[p] = abc;  a.length // 0  a[2.1] = abc;  a.length // 0  很奇怪吧,因為length屬性的值等于最大的整數鍵加 1,這個數組中沒有整數鍵,所以length屬性的值保持為 0。

  四、數組的空位  當數組的某個位置是空元素(比如,兩個逗號之間沒有任何值,或者值為undefined),我們就稱該數組存在空位(hole)。

  var a = [1,,1];  a // [1, undefined, 1]  a.length // 3  需要注意的是,如果最后一個元素后面還有逗號的話,并不會產生空位。

也就是說,有沒有這個逗號,結果都是一樣的,IE8以下的版本除外。

  var a = [1,2,3,];  a.length // 3  a // [1, 2, 3]  上面代碼可以看出,有沒有逗號,結果都是一樣的。

  使用delete命令刪除一個值,會形成空位。

  var a = [1,2,3,];  delete arr[1];  for(var i=0; i  console.log(arr[i]);  }  console.log(a.length);// 3  //打印 1 undefined 3  需要注意的是,使用delete命令并不會改變數組length屬性。

  使用delete命令時,只是把值變為 undefined,也就是說,length屬性不會過濾undefined的值,所以使用length屬性便利書組的時候,一定要小心。

  空位通過空值生成還是通過顯式設置為undefined生成,有一個細微的差別,如果通過空值生成,使用數組的forEach方法或者for...in...變量數組時,空位就會被跳過。

  var arr = [,,];  for( var i in arr ){  console.log(arr[i]);  } //不產生任何輸出  arr.forEach( function (x,i){console(i x);})  //同樣沒有任何輸出  如果空位通過顯示的undefined生成的話,則不會被跳過。

  var arr = [undefined,undefined,undefined];  for( var i in arr ){  console.log(arr[i]);  } //undefined,undefined,undefined  arr.forEach( function (x,i){console(i x);})  //undefined,undefined,undefined  五、in運算符,for...in循環  檢查某個鍵是否存在運算符in,使用與對象,也使用與數組。

  console.log( 4 in [1,2,3,4] ); //false  console.log( 3 in [1,2,3,4] ); //true  上面代碼,可以看到,下標 4不存在,因為下標最大為3,所以是false。

  使用for...in 循環可以遍歷數組中的所有元素,需要注意的是,for...in會遍歷所有的鍵,即使是非數字鍵。

  var a = [1,2,3];  a.foo = true;  for (var key in a) {  console.log(key);  }  // 0  // 1  // 2  // foo  上面代碼在遍歷數組時,也遍歷到了非整數鍵foo。

所以,使用for-in遍歷數組的時候,一定要小心。

  另一種遍歷的做法是用for循環或者while循環結合length屬性。

  var a = [1,2,3];  for(var i = 0; i  console.log(a[i]);  }  // or  var i = 0;  while (i  console.log(a[i]);  i ;  }  // or  var l = a.length;  while (l--){  console.log(a[l]);  }  上面代碼是三種遍歷數組的寫法。

最后一種寫法是逆向遍歷,即從最后一個元素向第一個元素遍歷。

  六、Array的構造方法  除了直接使用方括號創建,數組還可以使用JavaScript內置的Array構造函數創建。

  var a = new Array();  a // []  a.length // 0  var a = new Array(1);  a // [undefined 1]  a.length // 1  var a = new Array(2);  a // [undefined 2]  a.length // 2  var a = new Array(1,2);  a // [1,2]  a.length // 2  上面代碼說明,Array構造函數的用法不符合直覺。

沒有參數時,返回一個空數組;使用一個參數時,返回一個指定長度的空數組;使用多個參數,返回一個指定成員的數組。

所以,建議總是直接采用方括號創建數組。

Array構造函數的詳細介紹,參見我的另一篇博文:JavaScript之Array對象 注:更多精彩教程請關注電腦高手網頁設計教程 欄目,

版權聲明:本文由 宜圣杰 整理編輯。

原標題:jquery定義數組,js數組賦值

轉載注明出處:http://www.dn9ww09s.icu/program/15350.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • asp網站代碼,html代碼

    asp網站代碼,html代碼 相關圖片jsp代碼%@LANGUAGE=VBSCRIPT CODEPAGE=936%%session(aname)=session(admin_flag)=session.aboasp整站下載...

  • 基于asp系統,asp系統開發

    基于asp系統,asp系統開發 相關圖片sap財務系統headmeta http equiv=Content Language Content=zh cnmeta http equiv=Content Type Casp開源建站系統...

  • if嵌套例子,嵌套編程

    if嵌套例子,嵌套編程 相關圖片c語言循環嵌套例子本文主要介紹了PHP嵌套輸出緩沖代碼的例子。本文解釋了使用ob系列函數嵌套的示例。如果需要朋友的話,可以引用可以嵌套的PHP輸出緩沖區。嵌套級別可以使用OB>g...

  • c 環境配置,主機開發環境配置

    c 環境配置,主機開發環境配置 相關圖片maven環境配置FCKeditor是一個在sourceforge.net之上的開源項目,主要實現在線網頁編輯器的功能,使web程序具有MS-word等強大的編輯功能。官方網站是配置是什么...

  • 如何深入講解,深入細致的講解

    如何深入講解,深入細致的講解 相關圖片金剛經講解方法1:在servlet的init()方法中緩存數據。在應用服務器初始化servlet實例之后,它將在服務客戶機請求之前調用servlet的init()方法。在深入淺出的講解...

  • 大二上總結,大二個人年度總結

    大二上總結,大二個人年度總結 相關圖片大二學期個人總結Servlet是一段Java代碼,它可以擴展web服務器的功能。每個servlet在一個進程中運行,對servlet的新請求作為servlet進程中的線程運行。大二上學期個人總結500...

  • php如何遍歷一個文件,php數組遍歷

    php如何遍歷一個文件,php數組遍歷 相關圖片php遍歷文件夾下所有文件這個例子描述了PHP如何遍歷類中包含的所有元素。與您分享以供參考。具體分析如下:這里可以得到PHP類中包含的所有元素的鍵值輸出?12345678910112類m遍歷it...

  • 無法連接數據庫,無法連接到數據庫

    無法連接數據庫,無法連接到數據庫 相關圖片數據庫連接失敗怎么辦現在有很多新的JSP用戶經常問如何連接數據庫,如何出錯?所以我把重點放在這篇文章上供你參考。實際上,將所有的數據庫邏輯都放在JSP中并不是一個好方法,...

  • sfb47使用實例,fc105使用實例

    sfb47使用實例,fc105使用實例 相關圖片正則表達式使用實例本文主要介紹phpsblobjectstorage。Splobjectstorage是SPL標準庫中的一個數據結構對象容器,用于存儲一組對象,特別是需要唯一標識實例化數組...

  • visual studio怎么用,在visual studio

    visual studio怎么用,在visual studio 相關圖片visual studio c最近,服務器總是彈出visual studio實時調試器,這非常令人沮喪。無法關閉。如何解決這個問題,如下圖所示:讓我們分析出現這種情況的原因:彈出應用程序:Vvisual studio 官...

熱評文章

  • 數組刪除元素,數組怎么刪除元素

    數組刪除元素,數組怎么刪除元素 相關圖片數組添加元素本文的例子描述了根據元素值通過jQuery刪除數組元素的方法。與您分享以供參考。具體如下:例如,如果不知道數組中C的下標,就刪除元素C?123var arr=[java數組刪除元素...

  • sqlserver建立觸發器,sqlserver查看觸發器

    sqlserver建立觸發器,sqlserver查看觸發器 相關圖片sql觸發器編寫一。存儲過程1。存儲過程的分類存儲過程是一種數據庫對象,它存儲在數據庫中,應用程序可以通過調用來執行,并允許用戶聲明變量和有條件地執行。具有強大編程功能...

  • exp備份數據庫,oracle備份恢復

    exp備份數據庫,oracle備份恢復 相關圖片exp備份數據庫命令JMYBJS=(描述=(地址=(協議=TCP)(主機=129.1.9.90)(端口=1521))(連接數據=(服務器=DEDICexp導出文件日期...

  • standby怎么用,in standby

    standby怎么用,in standby 相關圖片standby use準備:確認待機時可以支持對象和語句,以確保主庫中的表行可以唯一標識環境:操作系統:Red Hat Linux Enterprise 5 Oracle:11.2.standby mode...

  • 簡單框架,框架怎么畫

    簡單框架,框架怎么畫 相關圖片框架是什么本文主要介紹一個簡單的JavaScript類框架,有助于初學者理解JS類的創建和繼承。對于那些需要幫助的人,請參閱work in progress JavaSc網頁框架...

  • 表空間管理,表空間的管理方式

    表空間管理,表空間的管理方式 相關圖片oracle表空間使用2。Oracle磁盤管理中最高的邏輯層是表空間。必須在Oracle11g中創建的四個表空間是system、sysaux、temp和undotbs1。2系統:存儲oracle表空間概念...

  • 水晶報表 指定數據庫,找不到指定的數據庫

    水晶報表 指定數據庫,找不到指定的數據庫 相關圖片選擇數據庫命令Oracle數據庫如何收集指定SQL的執行計劃和解決過程中的ora-00904錯誤(版權聲明,如果需要轉載原文或翻譯的文章,如果轉載的文章用于個人學習,請注明來查找數據庫的...

  • angular8,angular 2

    angular8,angular 2 相關圖片angular框架本文主要介紹了angularjs工具angular smart,它可以自動完成用戶界面,包括使用隔離作用域綁定指令和承諾。為了供您參考,我們最近在論壇中添加了一angular能做什么...

  • oracleocr作用,oracle刪庫命令

    oracleocr作用,oracle刪庫命令 相關圖片oracle自動備份今天是2014年4月1日。我忙了一整天終于有時間寫點東西了。前一段時間,我寫了如何在RAC中有備份時恢復OCR。今天,我寫了如何在沒有備份的情況下重建OCR和Ooracle備份命令...

  • sqlget注入入門,sql注入攻擊教程

    sqlget注入入門,sql注入攻擊教程 相關圖片websql注入攻擊什么是sqlmap?Sqlmap是一個免費的開源工具,用于檢測和利用SQL注入漏洞。它具有很好的特性,即自動處理檢測和利用(數據庫指紋、訪問底層文件系統、命令執sql注入步驟...

關注微信

变脸官网查询