数组(2)

103 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情

检测是否为数组

1.instanceof运算符可以检测是否为数组

var arr = [];
console.log(arr instanceof Array);  

以上最终控制台打印的是true,说明是数组

var obj = {};
console.log(obj instanceof Array);  

以下最终是false,说明不是数组 2.Array.isArray(参数)(H5新增方法,ie9以上版本支持)

var arr = [];
console.log(Array.isArray(arr));

那么打印是true Array.isArray优于instanceof

添加数组元素

1.push方法,可以在数组的末尾,添加一个或多个数组元素 即为push()参数直接写数组元素

var arr = [4,5,6];
arr.push(7,8);
console.log(arr)

打印出来的结果是[4,5,6,7,8]

如果要看返回值

console.log(arr.push(7,8))

那么结果是5,即为push完毕后,返回结果是新数组的长度

2.unshift在数组开头添加一个或者多个元素

var arr = [4,5,6];
arr.unshift(2,3);
console.log(arr)

打印结果就是[2,3,4,5,6]

删除数组

1.pop()删除数组的最后一个元素,一次只能删除一个,pop()没有参数

var arr = [4,5,6];
arr.pop();
console.log(arr)

那么打印结果是[4,5]

var arr = [4,5,6];
arr.pop();
console.log(arr.pop());

那么返回值是6,即为返回结果是删除的那个元素 2.shift()删除数组的第一个元素

var arr = [4,5,6];
arr.shift();
console.log(arr)

打印结果是[5,6] 同理返回是删除那个元素

筛选数组

先来看一个简单的案例 有一个数组[150,130,200,210,180],要求把数组中超过200的册除,剩余的放到新数组里面

var arr =[150,130,200,210,180];
var nawArray =[];
for(var i =0;i<arr.length;i++){
if(arr[i]<200){
newArr[newArr.length] =arr[i];
}
}

下面我们介绍更加简单的方法,就是可以把后面的元素添加到newArray就行,从后面追加

var arr =[150,130,200,210,180];
var nawArray =[];
for(var i =0;i<arr.length;i++){
if(arr[i]<200){
newArr.push(arr[i]);
}
}

数组排序

反转数组

var arr = [1,2,3];
arr.reverse();
console.log(arr)

那么结果就是[3,2,1]

冒泡排序

var arr = [1,6,3,5];
arr.sort();
console.log(arr);

打印结果就是[1,3,5,6]

sort()实现是个位数才可以,如果想要实现正常排序

var arr = [12,15,19];
arr.sort(function(a,b){
return a-b;
});
console.log(arr)

就能正常实现