1.总结数组中的方法和字符串中的方法
数组的方法;
会改变原来数组的:
- pop()删除尾部的1个元素,并返回删除的元素
- push(参数1,…)尾部追加1个或者多个元素,并返回新数组的长度
- shift()删除头部的1个元素,并返回删除的元素
- unshift()头部追加1个或者多个元素,并返回新数组的长度
- sort( function(a,b){ return a-b })数组元素排序
- reverse()数组的元素的反转
- splice()-用于插入、删除或替换数组的元素。
不会改变原来数组的:
1.concat()-连接两个或更多的数组,并返回结果。
2.every()-检测数组元素的每个元素是否都符合条件。
3.some()-检测数组元素中是否有元素符合指定条件。
4.filter()-检测数组元素,并返回符合条件所有元素的数组。
5.indexof()-搜索数组中的元素,并返回它所在的位置。
6.join()-把数组的所有元素放入一个字符串。
7.tostring()-把数组转换为字符串,并返回结果。
8.lastIndexof()-返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
9.map()-通过指定函数处理数组的每个元素,并返回处理后的数组。
10.slice()-选取数组的的一部分,并返回一个新数组。
11.valueOf()-返回数组对象的原始值。
案例
1、封装一个长度为4个的随机且不同的验证码。显示到页面
function fn(a,b){
var str1='';
while(str1.length<4){
for(i=1;i<=b;i++){
var sj=parseInt(Math.random()*a.length)
if(str1.length==b){
break;
}
if(str1.indexOf(a.charAt(sj))==-1){
str1+=a.charAt(sj);
}
}}
return str1;
}
<button onclick="getcode()">点我生成验证码</button>
<div id="div"></div>
<input type="text" id="ipi">
<script src="./dome.js"></script>
<script>
function getcode(){
var oDiv=document.getElementById('div')
var oIpt=document.getElementById('ipi')
var str='ggfxgcbnchcghjcgjhjgfhjfhjfjhghjgfjhvb'
var yzm=fn(str,4)
oDiv.innerHTML=yzm;
oIpt.value=yzm
}
</script>
2.var arr = [98,78,67,89,99,67,87,99,89,90];去掉一个最大值和最小值,然后求平均值。并打印最小值和最大值
var arr = [98, 78, 67, 89, 99, 67, 87, 99, 89, 90];
var arr1;
var sum=0;
for (i = 0; i < arr.length - 1; i++) {
for (j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
arr1 = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = arr1;
}
}
}
document.write('最小值'+arr.shift()) ;
document.write('最大值'+arr.pop()) ;
for (i = 0; i < arr.length; i++){
sum+=arr[i];
}
document.write('平均值'+sum/arr.length)
3.定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数 然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程。
var arr=new Array(30);
var n=0;
var arr1=[];
var sum=0;
for(i=0;i<arr.length;i++){
n=(i+1)*2;
arr[i]=n;
sum+=arr[i];
if((i+1)%5==0){
arr1[arr1.length]=sum/5;
sum=0;
}
}
document.write(arr1)