数组对象
关于数组对象,在JS中数组是一个非常重要的组成部分,可以帮助我们解决很多实际问题,可以用来存放大量数据,实现很多功能。
创建数组的方式:一、字面量方式创建,二、构造函数创造(构建函数创造时,前面需要new关键字,后接函数名,函数名首字母大写)。
同样的,为了方便使用者,手册中提供了很多方法;可以直接拿来使用。indexof方法,此方法经常用来对数组进行去重处理,判断一个数组中是否有这个元素,如果值为-1,说明没有值。栈方法。push(在最后添加一个元素);pop(删除最后一个元素);和它功能相似的有shift,unshift(在第一元素之前添加一个元素);splice()方法 ,删除,添加,替换,此方法可以实现多个功能。sort()方法,对字符串进行排序,按照从小到大的顺序。但通常需要自已实现。因为此方法默认按ASCII码排序。
两种常见的排序方式
一、冒泡排序
<script>
var arr=[1,33,3,8,10,56,39]
for(var i=0;i<arr.length;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);
</script>
二、选择排序
<script>
var arr=[12,13,32,56,78,46,83,23,5,7]
// function sort(){
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
// return;
// }
console.log(arr);
数组去重的方法
一、
//1.利用indexOf方法
// var arr=[];
var arr1 = [12, 34, 1, 2, 3, 4, 6, 4, 3, 5, 1, 1, 34]
// for(var i=0;i<arr1.length;i++){
// if(arr.indexOf(arr1[i])==-1){
// arr.push(arr1[i])
// }
// }
// console.log(arr);
二
//2.利用for循环遍历数组
for (var i = 0; i < arr1.length; i++) {
//
for (var j = i + 1; j < arr1.length; j++) {
if (arr1[i] == arr1[j]) {
arr1.splice(j, 1)
j--;
}
}
// return;
}
console.log(arr1);
关于数组中的其他方法
jion方法:将数组拼接成字符串。此方法只接受一个参数,用做分隔符的字符串
reverse方法:此方法会反转数组元素的顺序
slice方法:截取数组,数组.slice(起始下标,结束下标),不会影响原数组
数组的迭代方法
every:针对数组元素做一些判断,如果结果都为true,则返回结果为true
some:针对数组元素做一些判断,如果结果有一个为true,则返回的结果为true
filter:针对数组元素做一些判断,满足条件的元素,会组成一个新的数组,并且返回
map:返回一个新的数组
ofrEach:没有返回值,就是一个简单的循环。
代码示例:
<script>
var arr = [100, 98, 77, 66, 55, 44, 33];
// var str=arr.every(function(item){
// return item>60;
// })//every方法。判断是否全部大于60,只要有一个不满足,则输出false
// var str=arr.forEach(function(item){
// // console.log(arr);
// })
// var str =arr.filter(function(item){//过滤掉满足条件的元素,生成一个新的数组
// return item>60;
// })
// var str = arr.some(function(item){//只要其中有一个元素满足条件,则输出ture
// return item>60
// })
// var str=arr.map(function(item){//对数组中的元素进行批量处理
// return item+60;
// })
// console.log(str);