>웹 프론트엔드 >JS 튜토리얼 >JavaScript 웹 프로그래밍------어레이 관련 지식

JavaScript 웹 프로그래밍------어레이 관련 지식

黄舟
黄舟원래의
2016-12-30 16:49:021598검색

1. Js의 배열 길이는 자동으로 늘어날 수 있습니다.

2. Js의 배열 기능은 Java의 배열과 컬렉션의 조합과 동일합니다.

3. [3,2,-4,78,10];//정확합니다. Java는 초기 값을 할당하기 위해 중괄호를 사용하는 반면 Js는 대괄호를 사용합니다.

var arr[]=[3 ,2, -4,78,10];//잘못됨, arr[]로 선언할 수 없습니다.---- 대괄호로 선언할 수 없습니다.

4. 배열을 탐색합니다

5. Js는 다양한 데이터 유형의 데이터를 저장할 수 있습니다

<script type="text/javascript">
        //数组定义的方式1: 定义时直接赋初值
        var arr =[12,34,2,-3,90,12];
        //alert(typeof(arr)); //object
        //alert("len:"+arr.length);
        //遍历数组
        for(var x=0;x<arr.length;x++){
        	document.write("arr["+x+"]="+ arr[x]+" ");
        }
        document.write("<br/>");
        
        arr[0]=-1000;
        arr[7]=666;//数组可以自动增长,且arr[6]没有赋值则是undefined
        for(var x=0;x<arr.length;x++){
        	document.write("arr["+x+"]="+ arr[x]+" ");
        }
        document.write("<br/>");
        
        var arr2=[];
        //alert(arr2.length);//0
        arr2[1]=10;
        for(var x=0;x<arr2.length;x++){
        	document.write("arr2["+x+"]="+ arr2[x]+" ");
        }
        document.write("<br/>");
        
        //※※错误的声明方式--数组
        //int[] arr3 ={1,2,3};
        //var[] arr3 = [1,2,3];//错的,[]代表的是数组类型,而js中,所有数据类型只有一个var声明,不存在“var[]”这种类型
        
        var arr4=[1,2,3,100];
        arr4[0]="abc";
        arr4[1]=true;
        for(var x=0;x<arr4.length;x++){
        	document.write("arr4["+x+"]="+ arr4[x]+" ");
        }
        document.write("<br/>");
        
        //※※综上,js数组的两个特点:
        //1,长度是可变的
        //2,元素的类型是任意的
     </script>

참고: 구문적으로는 컬렉션의 특성을 가지며 다양한 유형의 데이터를 할당할 수 있기 때문에 가능합니다. 하지만 프로젝트를 할 때는 같은 종류의 데이터를 배열에 저장하는 것이 가장 좋습니다.

6. JS에서 배열을 정의하는 또 다른 방법: JS에서 Array 객체를 사용하세요.

참고: Array 객체로 배열을 정의할 때 매개변수가 1이면 길이를 나타냅니다. 1보다 크면 바로 배열 요소의 초기 값입니다

var arr2 = new Array(5); //길이가 5인 배열을 정의합니다. --매개변수가 1인 경우 길이는

var arr3 = new Array(5, 6, 7) //매개변수가 1보다 큰 경우 요소의 초기값입니다

7. Js의 Array 객체에 있는 메서드

1 ) concat 메서드: 두 개 이상의 배열을 조합한 새로운 배열을 반환합니다.

2) 조인 메서드: 함께 연결된 배열의 모든 요소를 ​​포함하는 문자열 값을 반환하며, 요소는 지정된 구분 기호로 구분됩니다.

3) reverse 메소드: 요소의 순서가 반대인 Array 객체를 반환합니다.

4) Shift 메서드: 배열의 첫 번째 요소를 제거하고 해당 요소를 반환합니다. -----removeFirst()

5) 슬라이스 메소드(Array): 배열의 세그먼트를 반환합니다. -----String

의 substring()과 유사6) 정렬 메서드: 요소가 정렬된 Array 객체를 반환합니다.

7) 접속 방법: 교체. 배열에서 하나 이상의 요소를 제거하고, 필요한 경우 해당 위치에 새 요소를 삽입하고, 제거된 요소를 반환합니다.

8) unshift 방법: 지정된 요소를 배열의 시작 부분에 삽입합니다. 반환 값은 새 배열의 길이입니다.---addFirst()
예:

<html>
  <head>
    <title>Array对象使用方法演示</title>
  </head>
  
  <body>
    <script type="text/javascript" src="out.js">
    </script>
   <script type="text/javascript">
     var arr=["aaa","bbb","ccc","ddd"];
     println(arr);
     var arr2=["111","222","333","okok"];
     var newArr = arr.concat(arr2);
     println(newArr);
     
     println(newArr.join("-"));
     
     println("<hr/>");
     
     //pop() :  移除数组中的最后一个元素并返回该元素。
     println( newArr.pop() );
     println(newArr);
     //push() : 将新元素添加到一个数组中,并返回数组的新长度值。
     arr.push("x1","x2");
     println(arr);
     //arr.push("y1",arr2,"z1");//注意1,arr2在arr当中是一个元素---即arr变成二维数组。注意2,push方法会改变原来的数组。arr长度为:9
     arr=arr.concat("y1",arr2,"z1");//注意1,该方法会把数组arr2当中的每个元素取出来,分别添加到arr当中---arr还是一维数组。注意2,concat方法不会改变原来的数组,连接结果以新数组的形式返回。旧arr的长度还是6,新arr的长度是12
     println(arr);
     println(arr.length);
     
     arr.sort();
     println(arr);
     
     arr.splice(1, 3, "u1","u2","u3","u4","u5");//从1位置开始,删掉3个元素,并且在删除的位置插入:"u1","u2","u3","u4","u5"
     println(arr);
     
     //※※※做栈和队列的提示
     //unshift---addFirst  concat--addLast()  shift---removeFirst()  pop---removeLast()
     //Array.prototype.addFirst=unshift;
   
   </script>
    
    <script type="text/javascript" src="arraytools.js">
    </script>
    <script type="text/javascript">
       var arr=["aaa","bbb","ccc","ddd"];
       var max = arr.getMax();
       println(max);
       println(arr);
       
    </script>
  </body>
</html>

사용된 도구

arraytools.js

//给原型对象添加一个getMax()方法
Array.prototype.getMax = function() {
	var temp=0;
	for(var x=1;x<this.length;x++){
		if(this[x]>this[temp]){
			temp = x;
		}
	}
	return this[temp];
};
Array.prototype.toString = function() {
	return "["+this.join("")+"]";
};

out.js

function println(param){
	document.write(param+"<br/>");
}
function print(param){
	document.write(param);
}

위 내용은 JavaScript 웹 프로그래밍 내용입니다------배열 관련 지식에 대한 자세한 내용은 PHP 중국어 홈페이지(www.php. CN)!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.