js数组及常用数学方法
数组方法
清空数组
1: arr.length=0;
2: arr=[];
arr.push() //往数组最后一个添加元素,会待会一个返回值,就是新的数组长度
arr.unshift() //往数组的第一个添加元素,也同样返回一个新的数组长度
ie6 7不支持unshift返回值
arr.pop() //删除最后一个元素,返回删除的元素
arr.shift() //删除前面一个元素,返回删除的元素
arr.splice //删除,替换,添加
arr.splice(0,1) //从零的位置开始删掉一个
arr.splice(0,2,3) //用第三个替换从零开始两个
arr.splice(1,0,3)//
把3添加到1的位置上
大致的意思:arr.splice('要操作的位置',‘个数‘,‘要替换的内容’)
数组去重
Array.prototype.removeRepeat=function(){ var newArr=[]; var json={}; for(var i=0; i<this.length; i++){ if(!json[this[i]]){ newArr.push(this[i]); json[this[i]]=1; } } return newArr; }
数组排序
arr.sort() //按照字符串的方式排列
arr.sort(function(a,b){
return a-b; //从小到大排列
return b-a; //从大到小排列
})
随机排序
arr.sort(function(a,b){
return Math.random()-0.5
})
arr.join('') //将数组转化成字符串
arr1.concat(arr2,arr3)
把数组拼接起来
arr.reverse()
颠倒数组顺序
数组迭代方法
arr.map() //对数组的每一项运行给定函数,返回函数执行后的数组
arr.forEach() //对数组的每一项运行给定函数,无返回值
arr.every() //对数组的每一项运行给定函数,如果每一项都返回true,则返回true
arr.filter() //对数组的每一项运行给定函数,返回该函数会返回true组成的数组
arr.some() //对数组的每一项运行给定函数,若任一项返回true,则返回true
var arr=[1,2,3,4,5,6,6,7,7,8,1,2,3]; //所有迭代方法都不改变原数组 var mapResult=arr.map(function(item){ return item*2 }); console.log(mapResult); var newArr=[] arr.forEach(function(item){ newArr.push(item+2) }); var everyResult=arr.every(function(item){ return item>5 }) console.log(everyResult) //false var filterResult=arr.filter(function(item){ return item>5 }) console.log(filterResult) //返回的是大于5的数组 var someResult=arr.some(function(item){ return item>7; }) console.log(someResult) //true
常用数学方法
Math.round()//四舍五入
Math.random()//0~1随机数
Math.ceil()//向上取值
Math.floor()//向下取值