一、什么是内置对象
js本身已经写好的对象,我们可以直接使用不需要定义它。
常见的内置对象有
Data、Array,Math、RegExp、Error、String....
Array高级API
sort()根据数组升序排序
<script type="text/javascript">
//sort根据升序排列数组
var arr=[100,10,8,56,4];
console.log(arr);
console.log(arr.sort());//这样的排序会有问题
//通过传入两个参数进行传入后,前一个参数减后一个参数就会实现数组的升序排列
console.log(arr.sort(function (a,b){
return a-b;
}));
//通过传入两个参数进行传入后,后一个参数减前一个参数就会实现数组的降序排列
console.log(arr.sort(function (a,b){
return b-a;
}));
</script>
slice():返回从原数组中指定开始下标到接收下标枝江的项组成的新数组,它可以接受一或者两个参数,即要返回的起始项和结束项,当在只有一个参数的情况下,这个方法返回从该参数指定位置开始到当前数组末尾的所有项,有两个参数该方法返回起始和结束位置之间的项,但是不包括结束的项
<script type="text/javascript">
//slice()数组的截取
var arr=[1,4,6,7,4,3,5,33];
var arr1=arr.slice(1);//从数组的第一位开始到最后
var arr2=arr.slice(1,5);//从数组的第一位到数组的第5位,单数不包括第5位
var arr3=arr.slice(1,-2);
//从数组的第一位到后面的数数组的长度加上-X,在这里数组个数是8个加上-2后就是到六位包括第6位
var arr4=arr.slice(-4,-2);
console.log(arr);
console.log(arr1);
console.log(arr2);
console.log(arr3);
console.log(arr4);
</script>
splice():可以实现删除,插入和替换,还有清空数组
删除:可以删除任意数量的项,只需要制定2个参数,要删除的开始的位置和需要删除的个数
<script type="text/javascript">
//splice()可以实现删除任意数量的项,只需要制定2个参数,要删除的开始的位置和需要删除的个数
var arr=[1,3,4,6,6,7,65];
var scarr=arr.splice(0,3);
console.log(arr);//删除后对原始的数组有影响
console.log(scarr);
</script>
插入:可以向制定位置插入任意数量的项,只徐提供3个参数:开始的位置和要插入的项
<script type="text/javascript">
//splice()插入任意数量的项,只徐提供3个参数:开始的位置和要插入的项,
var arr=[1,3,4,6,6,7,65];
arr.splice(2,2,"hhhh");
console.log(arr);
</script>
替换:可以向制定位置插入任意数量的项,且同时删除任意数量的项,值需要制定三个参数,开始的位置,要删除的项,
清空数组:清空数组运用了里面删除的原理
<script type="text/javascript">
//splice()清空数组
var arr=[1,3,5,,45,6,34,646,3,345];
//方法一:从新定义空数组
// arr=[];
// console.log(arr);
//splice()清空数组运用了里面删除的原理
arr.splice(0);//从第一位开始删除到最后一位
console.log(arr);
</script>
forEach():对数组进行遍历循环,对数组中的每一项运行给定函数
格式:arr.forEach(function(value,index){})
<script type="text/javascript">
//对数组进行遍历循环,对数组中的每一项运行给定函数
var arr=[1,3,5,8,45,6,34,646,3,345];
arr.forEach(function(value,index){
console.log(index+":"+value);
})
</script>
map()"映射"对数组中的每一项运动给定函数,返回每次函数调用的结果组成的数组
<script type="text/javascript">
//"映射"对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
//根据某种运算规律输出一个新的数字
var arr=[1,3,5,8,4,6,3,6,3];
var arr1=arr.map(function(value,index){
return value*value;//数字平方
});
console.log(arr1);
</script>
filter():"过滤"功能,数组中的每一项运行给指定函数,返回满足过滤条件的组成新数组
<script type="text/javascript">
//"过滤"功能,数组中的每一项运行给指定函数,返回满足过滤条件的组成新数组
var arr=[1,2,3,4,5,6,7,8,9,10,11,12,13];
var arr1=arr.filter(function(value,index){
return index %3===0||value>=9;
});
console.log(arr1);
</script>
every()判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true
<script type="text/javascript">
//every()判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true
var arr=[1,2,3,4,5,6,7,8,9,10,11,12,13];
var res = arr.every(function (value,index){
return value<20
});
console.log(res);//返回true
</script>
some()判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true
<script type="text/javascript">
//some()判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true
var arr=[1,2,3,4,5,6,7,8,9,10,11,12,13];
var res=arr.some(function (value,index){
return value<10;
});
console.log(res);//返回true
</script>