数组对象的创建
- 创建数组的两种方式
- 字面量方式
- new Array()
<title>Document</title>
<script>
// 字面量创建数组
var arr = [ 1,2,3,5]
console.log(arr[0]);
// new Array 创建数组
var arr1 = new Array(1,2,3); //表示 有3个数组 是 1,2,3
console.log(arr1);
</script>
检查是否为数组的两种方式
-
instanceof 运算符
-
Array.isArray(参数)
<script>
// 字面量创建数组
var arr = [ 1,2,3,5]
console.log(arr[0]);
// new Array 创建数组
var arr1 = new Array(1,2,3); //表示 有3个数组 是 1,2,3
console.log(arr1);
//检测是为数组 instanceof
var obj ={}
console.log(arr instanceof Array);
console.log(obj instanceof Array);
// 检测是否为数组 Array.isArray()
console.log(Array.isArray(arr));
console.log(Array.isArray(obj));
</script>
添加 删除数组元素的方法
push 向数组末尾添加一个新元素
- push 是可以给数组添加新的元素 是在末尾添加 push 是 推
- push()参数可以直接写数组元素
- push完毕之后 返回的结果是新的数组长度 原数组也会发生变化
<script>
var arr = [8,6,9,]
arr.push( 4,'九')
console.log(arr);
</script>
unshift 给数组前面追加新元素
- unshift 是可以给数组前面追加新的元素
- unshift ()参数可以直接写数组元素
- unshift 完毕之后 返回结果是新数组的长度 元数组也会发生变化
<script>
var arr = [8,6,9,]
arr.push( 4,'九')
console.log(arr);
console.log(arr.unshift('rad','blue'));
console.log(arr);
</script>
pop 删除最后一个 返回值是删除的那个元素
- pop 可以删除数组最后一个元素 一次只能删除一个 返回值就是删除的元素
- pop() 没有参数
console.log(arr.pop());// 删除最后一个 返回值是删除的那个元素
console.log(arr);
shift 删除第一个 返回值是删除的那个元素
- shift 可以删除第一个数组元素 一次只能删除一个
- shift() 没有参数
console.log(arr.shift()); // 删除第一个 返回值是删除的那个元素
console.log(arr);
小练习
- 筛选数组
<script>
//筛选数组
var arr =[ 15000,12000,8000,10000,20000,,9800,8888];
var arr1 =[]
for (var i= 0;i <= arr.length;i++ ){
if(arr[i] > 10000){
// arr1[arr1.length] = arr[i] 以前的方法
arr1.push(arr[i]) // push 方法
}
}
console.log(arr1);
</script>
数组排序
.reverse() 可以直接实现数组翻转
- reverse() 方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
代码如下
// 反转数组
var arr = ['啊','水','泪','的','动','感','了','下','流',]
arr.reverse(); // 可以实现反转
console.log(arr);
数组排序 (冒泡排序)
. sort()
// 数组排序(冒泡排序)
var arr1 =[ 9,5,8,3,6,1,7,2,77,101,88]
// arr1.sort() // 可以自动排序 但直接使用sort 会有问题 它只能排单数 超过10就不准
// 解决方法
arr1.sort(function(a,b){
return a - b; //可以实现任意数字升序的排序
// return b - a ; // 可以实现降序的排列
})
console.log(arr1);