数组
创建数组
var arr=[]
var arr=new Array();
添加删除
push( ) 末尾添加 pop() 末尾删除
unshift()头部添加 shift()头部删除
splice()删除添加替换
删除:可以删除任意数量的项,需指定两个参数,删除的第一项位置和要删除的项数。
.splice(1) 当前位置之后都删除 .solice(1,1) 当前位置开始删除,删除长度为1
添加:可以向指定位置插入任意数量的项,三个参数,起始位置,0(要删除的项数)和要插入的项。
.splice(1,0,4)
替换:可以向指定位置插入任意数量的项,同时删除任意数量的项。三个参数,起始位置,要删除的项数和要插入的项
.splice(1,1,1)
数组排序算法
选择排序
var arr=[3,5,11,8,0]
for(var i=0;i<arr.length;i++){
for(var j=1;j<arr.length;j++){
if(arr[i]>arr[j]){
var x=arr[i];
arr[i]=arr[j];
arr[j]=x
}
}
}
console.log(arr)
冒泡排序
var arr=[33,5,2,77,4];
for(var i =0;i<arr.length;i++){
for(var j=0;j<arr.length-i;j++){
if(arr[j]>arr[j+1]){
var x=arr[j]
arr[j]=arr[j+1]
arr[j+1]=x
}
}
}
console.log(arr)
sort
sort( ) 默认按字符串形式的升序排序
数组其他方法
1, join()方法
只接收一个参数,用作分隔符的字符串,然后返回包含所有数组项的字符串
2, concat()方法
接受一个或多个数组,该方法会将这些数组中的每一项都添加到结果数组中。
3,reverse()方法
反转数组项的顺序
4,indexOf()方法
两个参数 查找的项和(可选的)表示查找起点位置的索引
数组的迭代方法
1.every 全是true,返回true
2.some 有一个true,返回true
3.filter 针对数组元素做判断,满足条件的元素,组成新的数组并且返回
4.map 返回新数组,将返回的值组合成新数组
5.forEach 没有返回值,就是简单的循环
//every 全是true,返回true
var arr=[true,false,true,true];
var isAll = arr.every(function (value,index,array){
return value==true
});
console.log(isAll);
var arr1=[6,7,10,8,9];
var s=arr1.every(function (value,index){
return value>5;
})
console.log(s)
//some 有一个true,返回true
var arr2=[1,4,6,2];
var a=arr2.some(function (value,index){
return value>5;
});
console.log(a)
//filter 针对数组元素做判断,满足条件的元素,组成新的数组并且返回
var arr3=[1,5,2,87,0,4]
var arr4=arr3.filter(function (value,index){
return value<9;
})
console.log(arr4)
//map 返回新数组,将返回的值组合成新数组
var arr5=[3,1,2,4,6,7]
var arr6=arr5.map(function (value,index){
return value*value
})
console.log(arr6)
//forEach 没有返回值,就是简单的循环
arr5.forEach(function (value,index){
console.log(value)
})
数学对象
1,Math.ceil( )向上取整
2,Math.floor( )向下取整
3,Math.round( )四舍五入
4,Math.abs( )绝对值
5,Math.min( )最小值
6,Math.max( )最大值
7,Math.pow(num,power ) num的power次幂
8,Math.sqrt( ) 参数的平方根
9,Math.random( ) 0~1的一个随机数
console.log(Math.ceil(3.14))
console.log(Math.floor(3.14))
console.log(Math.round(3.14))
console.log(Math.abs(-3.14))
console.log(Math.min(1,4,7,39))
console.log(Math.max(1,4,7,39))
console.log(Math.pow(3,3))
console.log(Math.sqrt(64))
console.log(Math.random())
console.log(Math.floor(Math.random()*10))//0~9
20~100的随机数
var h= document.getElementsByTagName("h1")[0]
var m = parseInt(Math.random() * 80 + 20)
var arr=[]
for (var i = 0; i < 10; i++) {
var m = parseInt(Math.random() * 80 + 20)
if(arr.indexOf(m)==-1){
arr.push(m)
}else{
i--
}
}
console.log(arr)
h.innerHTML=arr