arry()数组的理解及api的使用(二)

注意:本文都来自于w3school中文网,如果需要完整版请去--http://www.w3school.com.cn/jsref/jsref_obj_array.asp

1.1 slice() 方法---可从已有的数组中返回选定的元素。
arrayObject.slice(start,end)//语法
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

 1 <script type="text/javascript">
 2
 3 var arr = new Array(3)
 4 arr[0] = "George"
 5 arr[1] = "John"
 6 arr[2] = "Thomas"
 7
 8 document.write(arr + "<br />")//George,John,Thomas
 9 document.write(arr.slice(1) + "<br />")//John,Thomas
10 document.write(arr)//George,John,Thomas
11
12 </script>

在本例中,我们将创建一个新数组,然后显示从其中选取的元素:

 1 <script type="text/javascript">
 2
 3 var arr = new Array(6)
 4 arr[0] = "George"
 5 arr[1] = "John"
 6 arr[2] = "Thomas"
 7 arr[3] = "James"
 8 arr[4] = "Adrew"
 9 arr[5] = "Martin"
10
11 document.write(arr + "<br />")//George,John,Thomas,James,Adrew,Martin
12 document.write(arr.slice(2,4) + "<br />")//Thomas,James
13 document.write(arr)//George,John,Thomas,James,Adrew,Martin
14
15 </script>

1.2 sort() 方法---用于对数组的元素进行排序。
语法 arrayObject.sort(sortby)
sortby 可选。规定排序顺序。必须是函数。
例子

 1 <script type="text/javascript">
 2
 3 var arr = new Array(6)
 4 arr[0] = "George"
 5 arr[1] = "John"
 6 arr[2] = "Thomas"
 7 arr[3] = "James"
 8 arr[4] = "Adrew"
 9 arr[5] = "Martin"
10
11 document.write(arr + "<br />")//George,John,Thomas,James,Adrew,Martin
12 document.write(arr.sort())//Adrew,George,James,John,Martin,Thomas
13
14 </script>

在本例中,我们将创建一个数组,并按字母顺序进行排序:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")//10,5,40,25,1000,1
document.write(arr.sort())//1,10,1000,25,40,5

</script>

请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:

 1 <script type="text/javascript">
 2
 3 function sortNumber(a,b)
 4 {
 5 return a - b
 6 }
 7
 8 var arr = new Array(6)
 9 arr[0] = "10"
10 arr[1] = "5"
11 arr[2] = "40"
12 arr[3] = "25"
13 arr[4] = "1000"
14 arr[5] = "1"
15
16 document.write(arr + "<br />")//10,5,40,25,1000,1
17 document.write(arr.sort(sortNumber))//1,5,10,25,40,1000
18
19 </script>

1.4 splice() 方法--向/从数组中添加/删除项目,然后返回被删除的项目。
arrayObject.splice(index,howmany,item1,.....,itemX)

index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
返回值
Array 包含被删除项目的新数组,如果有的话。
说明
说明:splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
在本例中,我们将创建一个新数组,并向其添加一个元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")//George,John,Thomas,James,Adrew,Martin
arr.splice(2,0,"William")
document.write(arr + "<br />")//George,John,William,Thomas,James,Adrew,Martin

</script>

在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")//George,John,Thomas,James,Adrew,Martin

arr.splice(2,1,"William")
document.write(arr)//George,John,William,James,Adrew,Martin

</script>

在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")//George,John,Thomas,James,Adrew,Martin
arr.splice(2,3,"William")
document.write(arr)//George,John,William,Martin

</script>

1.5 toString() 方法--可把数组转换为字符串,并返回结果。
语法 arrayObject.toString()

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.toString())//George,John,Thomas

</script>

1.5 unshift() 方法--可向数组的开头添加一个或更多元素,并返回新的长度。
arrayObject.unshift(newelement1,newelement2,....,newelementX)
newelement1 必需。向数组添加的第一个元素。
newelement2 可选。向数组添加的第二个元素。
newelementX 可选。可添加若干个元素。
请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。
在本例中,我们将创建一个数组,并把一个元素添加到数组的开头,并返回数组的新长度:

<script type="text/javascript">

var arr = new Array()
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")//George,John,Thomas
document.write(arr.unshift("William") + "<br />")//4
document.write(arr)//William,George,John,Thomas

</script>
时间: 2024-12-11 13:41:18

arry()数组的理解及api的使用(二)的相关文章

arry()数组的理解及api的使用(一)

我们想要了解数组,首先就要先要了解到什么是数据结构,所谓的数据结构就是把数据与数据见的关系按照特定的结构来保存.设计合理的数据结构是解决问题的前提.了解了数据结构后我们下面来数组的定义:数组(array)就是一种很常用的保存批量数据的数据结构.也就是说使用单独的变量名来存储一系列的值.1.1创建数组 1 var arr1=[];//定义一个不包含元素的数组 2 var arr2=[25,56,85];//定义一个包含三个元素的数组 3 var arr3=new Array();//定义一个不包含

POJ2309BST【树状数组的理解】

大意: 对于这个树 告诉你一个节点问这个节点下的最小值和最大值 分析: 这个题考查对于树状数组的理解,   每个节点的前一个节点都是依次向前的 比如 10--8--4--2--1 后一个节点都是一次往后的比如10--12--16…… 那么我们观察发现每个节点的最小值都是他爹+1,最大值都是他妈-1 代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace st

二维数组与交错数组的理解

1:数组: //二维数组 表示1个表格. //交错数组的本质是1个1维数组//行固定 但是每1行的列数不固定 //string[][] arr = new string[3][]; //arr[0] = new string[4]; int[][] arr = { new int[] { 1, 2, 3 }, new int[] { 1, 2, 3, 4, 5, 5 } }; // int[] arr = { 1,2,3,4,5}; //行列都固定的情况下 使用二维数组. // string[,

字符串匹配KMP next数组的理解

#include<cstdio> #include<cstring> void getNext(int *Next,char* src){ int i,j; Next[0]=-1; i=0; j=-1; int N=strlen(src); while(i<N-1){ if(j==-1||src[i]==src[j]){ ++i; ++j; Next[i]=j; }else{ /* 理解难点:假设已经存在Next:假设是两个字符串在进行比较. 1. a)现在有两个字符串 sr

UNIX网络编程-基本API介绍(二)

参考链接:http://www.cnblogs.com/riky/archive/2006/11/24/570713.aspx 1.getsockname和getpeername getsockname函数获取与套接口关联的本地协议地址. getpeername函数获取与套接口关联的远程协议地址. ---------------------------------------------------------------------- #include <sys/socket.h> int 

Elasticsearch从0.90(0.90.x)到1.2(1.x)API的变化-二

本文为官方文档的译文加个人理解.作者翻译时,elasticsearch(下面简称es)的版本为1.2.2. 请支持原创:http://www.cnblogs.com/donlianli/p/3836768.html 一.统计信息相关命令的变化 有关集群状态cluster_state, 节点信息nodes_info, 节点统计信息nodes_stats和索引信息indices_stats命令格式进行了统一,比如查看集群信息使用命令: curl -XGET http://localhost:9200

深入理解maven与应用(二):灵活的构建

深入理解maven及应用(一):生命周期和插件 参考官方url:http://maven.apache.org/guides/index.html 一个优秀的构建系统必须足够灵活,应该能够让项目在不同的环境下都能成功构建.maven为了支持构建的灵活性,内置了三大特性,即:属性.profile和资源过滤. 1.maven属性 maven属性分6类: 1.内置属性:如${basedir}表示项目根目录,${version}表示项目版本 2.POM属性:用户可以引用pom文件中对应的值.如: ${b

19.把1~100存到二维数组a[10][10]中,并按二维矩阵形式输出

#include<iostream>using namespace std; int main(){    int a[10][10];    for(int i=0;i<10;i++)    {        for(int j=0;j<10;j++)        {            a[i][j]=i*10+j+1;//二维数组逻辑上还是一维数组的存储方式        }    }    for(int j=0;j<10;j++)    {        for

数组的应用:一。冒泡排序二。折半查找!二维数组的学习。

数组的应用:(一).冒泡排序.1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的是次数.2.趟数=n-1:次数=n-趟数.3.里层循环使用if比较相临的两个数的大小,进行数值交换. 作业:1.先把冒泡排序写一遍.2.使用冒泡排序,做青歌赛的打分程序.要求去掉两个最高,两个最低分,求平均得分. 代码. (二).折半查找.前提:数组必须是有序的.思路:用两个变量分别代表上限(top)和下限(bottom)的下标,再用一个变量代表中间(mid)的下标.1.求中间下标:mid = (top+bo