JavaScript-数组(new Array)

创建数组的俩种方式:
1、利用数组字面量

var arr = [1, 2, 3];
console.log(arr);    //输出结果为1,2,3

2、利用new Array()

var arr1 = new Array(); //创建了一个空的数组
var arr2 = new Array(2); //里面的2表示数组的长度为2,输出结果我2个空的数组元素
var arr3 = new Array(2, 3); //等价于[2,3]表示里面有2个数组元素为2,3

检测是否为数组
(1)instanceof 运算符,用来检测是否为数组

var arr = [];
var obj = {};
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //false

(2)Array.isArray(参数);H5新增的方法,ie9以上版本支持

var arr = [];
var obj = {};
console.log(Array.isArray(arr)); //true
console.log(Array.isArray(obj)); //false

添加删除数组元素的方法

方法名说明返回值
push(参数1...)末尾添加一个或多个元素,注意修改原数组返回新的长度
pop()删除数组最后一个元素,把数组长度减1 无参数、修改原数组返回它删除的元素的值
unshift(参数1....)向数组的开头添加一个或更多元素,注意修改原数组返回新的长度
shift()删除数组的第一个元素,数组长度减1,无参数、修改原数组返回第一个元素的值
1、push()在数组的末尾,添加一个或者多个数组元素 ``` var arr = [1, 2, 3]; arr.push(4); console.log(arr); console.log(arr.push(4,'你好')); //输出结果为5数组的长度 ``` ● push是可以给数组追加新的元素 ● push()参数直接写数组元素即可 ● push完毕之后,返回的结果是新数组的长度 ● 原数组也会发生变化 2、unshift 在数组的开头 添加一个或者多个元素
var arr = [1, 2, 3];
arr.unshift(4)
 console.log(arr); //输出结果为4,1,2,3
 console.log(arr.unshift('red', 'purple')); //输出结果为6

● unshif给数组前面追加新的元素
● unshift()参数直接写数组元素即可
● unshift完毕之后,返回的结果是新数组的长度
● 原数组也会发生变化
3、pop()可以删除数组的最后一个元素

 var arr = [1, 2, 3, 4];
arr.pop();
console.log(arr); //输出结果为1,2,3
console.log(arr.pop()); //输出结果为3

● pop()删除数组的最后一个元素,注意:一次只能删除一个元素
● pop()没有参数
● pop()完毕之后,返回的结果是删除的那个元素
● 原数组也会发生变化
4、shift()删除数组的第一个元素

 var arr = [1, 2, 3, 4];
arr.shift();
console.log(arr); //输出结果为2,3,4
console.log(arr.shift()); //输出结果为2

● shift()可以删除数组的第一个元素,一次只能删除一个元素
● shift()没有参数
● shift()完毕之后,返回的结果是删除的那个元素
● 原数组也会发生变化
小案例
数组去重

//数组去重
var arr = [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5];
var newArr = [];
for (var i = 0; i <= arr.length; i++) {
    if (arr[i] != arr[i + 1]) {
        newArr.push(arr[i])
    }
}
console.log(newArr);

数组排序

方法名说明是否修改原数组
reverse()颠倒数组中元素的顺序,无参数该方法会改变原来的数组,返回新数组
sort()对数组的元素进行排序该方法会改变原来的数组,返回新数组

reverse翻转数组

<script>
var arr = [1, 2, 3, 4, 5, 6];
 arr.reverse();
 console.log(arr);    //输出结果为6,5,4,3,2,1
</script>

sort()数组排序(冒泡排序)

<script>
var arr1 = [6, 9, 8, 7, 4, 2, 3, 6, 5, 4];
arr1.sort();
console.log(arr1);   //输出结果[2, 3, 4, 4, 5, 6, 6, 7, 8, 9]
var arr2 = [13, 4, 77, 1, 7];
arr2.sort(function(a, b) {
    return a - b; //升序的顺序排列
    // return b - a; //降序的顺序排列
})
console.log(arr2);
</script>

数组索引方法

方法名说明返回值
indexOf()数组中查找给定元素的第一个索引如果存在返回索引号,如果不存在,则返回-1
lastIndexOf()在数组中的最后一个的索引如果存在则返回索引号,如不存在,则返回-1
var arr = ['red', 'green', 'blue', 'pink', 'blue']
console.log(arr.indexOf('blue')); //2
 console.log(arr.lastIndexOf('blue')) //4

案例:数组去重

<script>
function unique(arr) {
         var newArr = [];
         for (var i = 0; i < arr.length; i++) {
             if (newArr.indexOf(arr[i]) === -1) {
                 newArr.push(arr[i])

             }
         }
         return newArr;
     }
     console.log(unique([1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6]));
 </script>

数组转换为字符串

//tostring
 var arr = [1, 2, 3]
 console.log(arr.toString());  //输出结果为黑色1,2,3
 //join(分隔符)
 var arr1 = [1, 2, 3]
 console.log(arr.join('-'))   //输出结果为1-2-3
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值