JavaScript—array(数组)和String(字符串)

  • Post author:
  • Post category:java



JavaScript—array(数组)和String(字符串)


数组的声明

var arr=[1,2,3,4,5,6,7];


数组的访问

//访问数组的第一个元素
console.log(arr[0]);


数组的遍历

for(var i=0;i<arr.length;i++){
         	console.log(i);
         }

输出结果:

"0" 
"1"	
"2"
"3"	
"4"
"5"	
"6


数组的方法


push:数组末尾添加一项

arr.push(3);
          console.log(arr);

输出结果:1,2,3,4,5,6,7,3

在这里插入代码片


push:返回数组长度

*

方法一:

 console.log(arr.length);

方法二:

 console.log(NewArr);


php:删除数组末尾的元素,并返回删除元素

var ele=arr.pop();
console.log(ele,arr);


shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

var shi=arr.shift();
console.log(shi,arr);


unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。


splice:从某一位开始删,删除几个,在该位插入新的元素



删除数组的第二和第三个元素


代码如下:

 var ele=arr.splice(1,2);
		 console.log(arr);


删除数组的第二个元素和第三个元素,并在第二元素的位置插入100


代码如下:

var ele=arr.splice(1,2,100);
		 console.log(arr);


数组去重



要求:去掉数组中重复的元素


方法一:

数组和后一个元素和前一个元素进行比较,如果相同则删掉后一个元素,

因为删除了元素数组的长度的减1,所以每次循环的j需要减1

var arr=[1,2,3,2,4,3,3,2,5,6,2];
for(var i=0;i<arr.length-1;i++){
for(var j=i+1;j<arr.length;j++){
if(a[i]==a[j]{
arr.splice=(j,1);
j--;
}
}
}
console.log(arr);

数组的输出结果:

"1,2,3,4,5,6"


方法二:


把数组arr的元素依次比较插入新的数组newArr,

如果arr数组元素的索引为-1表示新的数组newArr里不存在这个元素,

则把该元素插入到新的数组newArr中

var arr=[1,2,3,2,4,3,3,2,5,6,2];
		 var newArr=[];
		 for(var i=0;i<arr.length;i++){
		 	if(newArr.indexOf(arr[i])==-1){
		 		newArr.push(arr[i]);
		 	}
		 }
		 console.log(newArr);

新数组的输出结果:

"1,2,3,4,5,6"


数组排序


*方法一:*选择排序

var arr=[1,2,3,2,4,3,3,2,5,6,2];
		 for(var i=0;i<arr.length;i++){
		 	for(var j=i+1;j<arr.length;j++){
		 		if(arr[j]<arr[i]){
		 		 var c=arr[i];
		 			arr[i]=arr[j];
		 			arr[j]=c;
		 		}
		 	}
		 }
		 console.log(arr);

输出结果:

1, 2, 2, 2, 2, 3, 3, 3, 4, 5, 6

*方法二:*冒泡排序

var arr=[1,2,3,2,4,3,3,2,5,6,2,0,85,799];
		for(var i=0;i<arr.length-1;i++){
			for(var j=0;j<arr.length-i;j++){
				if(arr[j]>arr[j+1]){
					var temp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
			}
		}
		console.log(arr);

输出结果:

 [0, 1, 2, 2, 2, 2, 3, 3, 3, 4, 5, 6, 85, 799]



版权声明:本文为lkfmiaomiao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。