JavaScript學習隨記——數組一

數組的創建及length屬性

		<script type="text/javascript" charset="utf-8">// 數組創建方式一,此種方式寫的時候比較麻煩var arr=new Array();// 數組創建方式二var arr= [1,2,3,4,true,'str',new Date()];console.log("arr.length:"+arr.length);console.log(arr);arr.length=5;		// 指定組數長度后,數組長度以外的元素則會被裁減掉console.log("arr.length:"+arr.length+"  ,arr:"+arr);	console.log(arr[6]);/************************* 運行結果 *************************arr.length:7[1, 2, 3, 4, true, "str", Date {Thu Oct 15 2015 00:08:43 GMT+0800}]arr.length:5  ,arr:1,2,3,4,trueundefined**********************************************************/</script>
注意:數組的使用時注意如果指定了數據的長度的,則數組長度外的元素會被裁減掉(內存中被干掉)。

數組的 push 和 pop 方法

		<script type="text/javascript" charset="utf-8">/***  數組的 push 和 pop 方法*  和數據結構中的棧(先進后出)的操作一樣,推入,壓出*/var arr=[];arr.push(4); //推入arr.push(3,2);arr.push(2);var returnVal=arr.push(true);	//返回值為新數組的長度arr.push(new Date())console.log(returnVal);console.log("arr.length: "+arr.length);console.log("arr: "+arr);arr.pop();	// 從數組尾部刪除一個元素,返回值為移出的元素值console.log("arr.length: "+arr.length);console.log("arr: "+arr);/************************* 運行結果 *************************5arr.length: 6arr: 4,3,2,2,true,Thu Oct 15 2015 00:14:23 GMT+0800arr.length: 5arr: 4,3,2,2,true**********************************************************/</script>


注:pop() 和 push()對數據的操作是從數組的后面進行操作,與 shift () 和unshift() 操作位置正好相反(在數組的前面前面進行相應的移出和插入操作)。


數組的 shift 和 unshift 方法

			<script type="text/javascript" charset="utf-8">/*** shift 和 unshift 方法* shift: 從數組前移出元素* unshift: 從數組前插入*/var arr=[3,5,7,true,new Date(),undefined,null];console.log("[操作前]: "+arr);var r1=arr.shift();console.log(arr);console.log(r1);var r2=arr.unshift(0);console.log(arr);console.log(r1);/************************* 運行結果 *************************[操作前]: 3,5,7,true,Thu Oct 15 2015 00:20:43 GMT+0800,,[5, 7, true, Date {Thu Oct 15 2015 00:20:43 GMT+0800}, undefined, null]3[0, 5, 7, true, Date {Thu Oct 15 2015 00:20:43 GMT+0800}, undefined, null]3**********************************************************/</script>


數組的 splice(拼接、接合) 和 slice方法

			<script type="text/javascript" charset="utf-8">/*** splice(拼接、接合) 和 slice(切開、切下)方法* * splice(arg1,arg2,arg3...): 從arg1處截掉arg2個元素,再將arg3...之后的元素追加在截斷的位置* 			arg1:操作的起始位置,從0開始* 			arg2:截掉元素個數* 			arg3:追加的元素* 			... :追加的元素* 可以理解為子元素的替換,將arg1處開始后連續arg2個元素替換成 arg3、arg4、、、* * slice(startIndex,endIndex):截取并返回數組中索引從startIndex 到 endIndex的元素(左閉右開區間,不影響別操作的對象),類似于高級語言中的字符串求子串;* * 區別:splice 操作會影響操作的對象,slice則不會影響操作的對象* */var arr=[0,1,2,3,4,5,6,7,8];console.log("[操作前]: "+arr);var r1=arr.splice(1,2,33,44,55,88,99);		//返回值為截掉的元素console.log("[操作返回值]: "+r1);					//Array [ 1, 2 ]console.log("[操作后]: "+arr);		//Array [ 0, 33, 44, 55, 88, 99, 3, 4, 5, 6, 7, 8 ]var arr=[0,1,2,3,4,5,6,7,8];console.log("[操作前]: "+arr);var r2=arr.splice(2,4);		//從第2個索引位置開始截去4個元素,截取范圍是左閉右開區間console.log("[操作返回值]: "+r2);			//Array [ 2, 3, 4, 5 ]console.log(arr);			//Array [ 0, 1, 6, 7, 8 ]var arr=[0,1,2,3,4,5,6];console.log("[操作前]: "+arr);		//[操作前]: 0,1,2,3,4,5,6var result=arr.slice(2,5);			//索引從2到5左閉右開區間的元素值,對被操作的對象無影響console.log("[操作返回值]: "+result);	//[操作返回值]: 2,3,4console.log("[操作后]: "+arr);		//[操作后]: 0,1,2,3,4,5,6/************************* 運行結果 *************************[操作前]: 0,1,2,3,4,5,6,7,8[操作返回值]: 1,2[操作后]: 0,33,44,55,88,99,3,4,5,6,7,8[操作前]: 0,1,2,3,4,5,6,7,8[操作返回值]: 2,3,4,5[0, 1, 6, 7, 8][操作前]: 0,1,2,3,4,5,6[操作返回值]: 2,3,4[操作后]: 0,1,2,3,4,5,6**********************************************************/</script>



數組的 concat 和 join方法

			<script type="text/javascript" charset="utf-8">			/*** concat : 數組拼接* 注意:concat方法并不影響被操作對象本身* * join : 數組元素之間加入相應的連接元素然后返回最終的結果* 注意:join 方法也不影響被操作對象本身* */var arr1=[1,2,3];var arr2=[4,5,6];var result = arr1.concat(arr2);console.log("arr1: "+arr1);		//arr1: 1,2,3console.log("arr2: "+arr2);		//arr2: 4,5,6console.log("arr1.concat(arr2): "+result);		//arr1.concat(arr2): 1,2,3,4,5,6var arr1=[1,2,3];var result = arr1.join('-');console.log("arr1: "+arr1);		//arr1: 1,2,3console.log("arr1.join('-'): "+result);		//arr1.concat(arr2): 1-2-3console.log("arr1[2]: "+arr1[2]);			//3/************************* 運行結果 *************************arr1: 1,2,3arr2: 4,5,6arr1.concat(arr2): 1,2,3,4,5,6arr1: 1,2,3arr1.join('-'): 1-2-3arr1[2]: 3**********************************************************/</script>


數組的 sort 方法

			<script type="text/javascript" charset="utf-8">					/*** sort(): 將數組類元素進行排序,排序方式是類似字典排序的方式來進行相應的排序,而不是按數學的由小到大排序* 注意:排序后影響被操作對象*/var arr1=[1,7,5,3,10];console.log("[操作前]:"+arr1);			//[操作前]:1,7,5,3,10var result1=arr1.sort();console.log("[操作結果]:"+result1);		//[操作結果]:1,10,3,5,7console.log("[操作后]:"+arr1);			//[操作后]:1,10,3,5,7/************************* 運行結果 *************************[操作前]:1,7,5,3,10[操作結果]:1,10,3,5,7[操作后]:1,10,3,5,7**********************************************************/</script>


數組的 reverse方法

			<script type="text/javascript" charset="utf-8">	/*** reverse(): 是將數組順序顛倒過來*/var arr2=[5,1,8,3,5];					console.log("[操作前]:"+arr2);var result2=arr2.reverse();				//[操作前]:5,1,8,3,5console.log("[操作結果]:"+result2);		//[操作結果]:5,3,8,1,5console.log("[操作后]:"+arr2);			//[操作后]:5,3,8,1,5/************************* 運行結果 *************************[操作前]:5,1,8,3,5[操作結果]:5,3,8,1,5[操作后]:5,3,8,1,5**********************************************************/</script>


案例一:實現對數組的數學排序

			<script type="text/javascript" charset="utf-8">		/*** 數學排序* 實現:對sort()方法給指定一個排序方式即可*/var arr1=[1,7,5,3,10];// 比較器function compare(var1,var2){if(var1<var2){return -1;}else if(var1>var2){return 1;}else{return 0;}}arr1.sort(compare);console.log(arr1);	// Array [ 1, 3, 5, 7, 10 ]/************************* 運行結果 *************************[1, 3, 5, 7, 10]**********************************************************/</script>

以上代碼的運行環境均是Firfox,輸出結果到console中。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373695.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373695.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373695.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

USACO milk4 枚舉答案再檢驗

剛開始寫了一個暴力的dfs超時了&#xff0c; 最后看了下題解說是先枚舉答案再判斷&#xff0c;然后就寫了雙dfs&#xff0c;全部秒殺&#xff0c;代碼如下&#xff1a; /*ID: m1500293LANG: CPROG: milk4 */ #include <cstdio> #include <cstring> #include <al…

微信小程序常見問題集合(長期更新)

最新更新&#xff1a; 新手跳坑系列&#xff1a;推薦閱讀&#xff1a;《二十四》request:fail錯誤&#xff08;含https解決方案&#xff09;&#xff08;真機預覽問題 跳坑指南《七十》如何讓微信小程序服務類目審核通過跳坑六十九&#xff1a;uploadFile:fail Error: unable t…

mysql指令按順序排列_mysql基本語法大全

1.備份數據庫&#xff1a;1.1備份數據庫中的表:mysqldump -u root -p test a b >d:\bank_a.sql//分別備份數據庫test下a和b表1.2備份一個數據庫mysqldump -u root -p test > d:\testbk.sql1.3備份多個數據庫mysqldump -u root -p --databases test mysql > D:\data.sq…

Spring和石英:多作業計劃服務

作業調度對于應用程序來說是如此重要。 尤其是在大型項目中&#xff0c;處理大量工作可能是一個問題。 Spring和Quartz為解決該問題帶來了巨大的好處。 本文介紹了如何通過使用Spring和Quartz輕松地計劃多個作業。 二手技術&#xff1a; JDK 1.6.0_21 春天3.1.1 石英1.8.5 M…

JavaScript學習隨記——數組二

數組indexOf(arg) 和 lastIndexOf(arg)方法使用 <script type"text/javascript" charset"utf-8">/*** indexOf(arg):返回指定參數在數組中的索引位置&#xff08;從前往后查&#xff0c;比較是使用 ‘’&#xff0c;查詢到立即返回索引位置&#xff…

反射的簡單應用

首先有一個類 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;5 using System.Threading.Tasks;6 7 namespace ConsoleApplication18 {9 public class demo 10 { 11 public string name "程序員"; 12…

JavaFX 2.0示例介紹書

我最近完成了有關JavaFX 2.0 SDK新版本的書的編寫&#xff0c;并且已經將它放在您附近的書店&#xff08; Amazon &#xff09;的書架上。 該書將逐步指導您完成JavaFX 2.0的來龍去脈。 當您遇到一章時&#xff0c;將看到一些菜譜&#xff0c;這些菜譜將帶來一個問題&#xff0…

雙縱坐標的繪圖命令_工程師繪圖必備軟件——OriginLab 2019b

點擊右上角關注&#xff0c;盡享后續精品軟件OriginLab 2019b是OriginLab OriginPro 2019版本的加強版&#xff0c;這個軟件對于許多人來講并不陌生&#xff0c;可以說是科學家和工程師的繪圖必備軟件。新的版本也帶來許多改變&#xff0c;軟件擁有多種功能&#xff0c;這個版本…

JavaScript學習隨記——對象

JS中對象基本使用 <script type"application/javascript" charset"utf-8">//Objcet 所有類的基礎類/*** 創建對象方式一*/ // var objnew Objcet();/** 創建對象方式二,注意 {}不可忘記寫* */var obj {};obj.name "什碼情況";obj.age …

[轉]Java_List元素的遍歷和刪除

原文地址:http://blog.csdn.net/insistgogo/article/details/19619645 1、創建一個ArrayList [java] view plainList<Integer> list new ArrayList<Integer>(); 2、List常用的遍歷方法有三種&#xff1a; &#xff08;1&#xff09;下標循環 [java] view plainfo…

分層設計 --java中的幾種包

對于剛接觸包分層的同學&#xff0c;下面簡單介紹一下java中各個層次&#xff1a; Modle 模型層 &#xff1a;存放你的實體類 dao&#xff1a;主要做數據庫的交互工作&#xff0c;具體的增刪改查等方法&#xff0c;操作數據庫的&#xff1b;這里也可以存放查詢所有的信息接口 …

Spring遠程支持和開發RMI服務

Spring遠程支持簡化了啟用遠程服務的開發。 當前&#xff0c;Spring支持以下遠程技術&#xff1a;遠程方法調用&#xff08;RMI&#xff09;&#xff0c;HTTP調用程序&#xff0c;Hessian&#xff0c;Burlap&#xff0c;JAX-RPC&#xff0c;JAX-WS和JMS。 遠程方法調用&#xf…

cesium繪制網格_Cesium學習筆記-工具篇37-風場繪制

這兩天重新接觸到流場&#xff0c;于是研究下&#xff0c;在大牛們的輪子上也算實現了效果&#xff1a;1二維2三維主要參考以下三篇文章&#xff1a;《WebGL風向圖》給出制作風向圖通常步驟&#xff1a;1. 在屏幕上生成一系列隨機粒子位置并繪制粒子。2. 對于每一個粒子&#x…

ToString:身份哈希碼的十六進制表示形式

我以前在方便的Apache Commons ToStringBuilder上寫過博客&#xff0c;最近有人問我&#xff0c;在生成的String輸出中出現的看似神秘的文本是什么構成的。 詢問該問題的同事正確地推測出他正在查看的是哈希碼&#xff0c;但與他實例的哈希碼不匹配。 我解釋說ToStringBuilder將…

HTML+CSS筆記 CSS中級 縮寫入門

盒子模型代碼簡寫回憶盒模型時外邊距(margin)、內邊距(padding)和邊框(border)設置上下左右四個方向的邊距是按照順時針方向設置的&#xff1a;上右下左。語法:margin:10px 15px 12px 14px;/*上設置為10px、右設置為15px、下設置為12px、左設置為14px*/通常有三種縮寫的方法:1、…

JavaScript學習隨記——常見全局對象屬性及方法

<script type"text/javascript" charset"utf-8">//全局對象&#xff1a; Object、Array、Math等/*** 全局的方法&#xff1a;* 1.encodeURI、escape、decodeURIComponet 編碼* 2.decodeURI、unescape、encodeURIComponet 解碼* 3.parseInt、parseF…

spring boot 定時任務

package com.ict.conf; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled;Configuration EnableScheduling // 啟用定時任務 …

搬運機器人舉杯賀所需的條件_智能搬運機器人比賽規則

附件4&#xff1a;分揀機器人(智能搬運機器人)比賽規則1、比賽目的設計一個輪式或人形小型機器人&#xff0c;在比賽場地里移動&#xff0c;將不同顏色、形狀或者材質的物體分類搬運到不同的對應位置。比賽的記分根據機器人將物體放置的位置精度和完成時間來決定分值的高低。它…

我們多么想要新的Java日期/時間API?

當前的Java.net 民意測驗問題是&#xff1a;“ 對于用Java 8實現的JSR-310&#xff08;新的日期和時間API&#xff09;有多重要&#xff1f; ”在我撰寫本文時&#xff0c;將近150位受訪者投了贊成票&#xff0c;絕大多數人回答“非常”&#xff08;53&#xff05;&#xff09;…

JavaScript學習隨記——Function

每個函數都是Function類型的實例&#xff0c;而且都與其他引用類型一樣具有屬性和方法。由于函數是對象&#xff0c;因此函數名實際上也是一個指向函數對象的指針&#xff0c;不會于某個函數綁定。 函數的定義方式 <script type"text/javascript" charset"ut…