数组的使用(js)

目录

数组对象的创建

字面量创建

new Array()   

检测是否为数组

instanceof 

Array.isArray(参数)

添加元素方法

push()

unshift

删除元素方法

pop()

shift()

筛选数组

数组排序

翻转数组

数组排序(冒泡)

数组索引方法

indexOf()

lastIndexOf()

数组去重

数组转换为字符串

toString() 

 join()

数组的连接,截取,内容部分删除

concat()

slice()

splice()


数组对象的创建

字面量创建

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

new Array()   

创建新数组:var arr = new Array();

var arr1 = new Array(2);
console.log(arr1);    //输出Array(2)  两个空的元素,数组长度为2

var arr2 = new Array(2,3);
console.log(arr2);    //输出[2,3]  有两个数组元素,里面有2,3两个数字


检测是否为数组

instanceof 

运算符,可以用来检测是否为数组

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

Array.isArray(参数)

console.log(Array.isArray(arr));    //true
console.log(Array.isArray(abj));    //false

添加元素方法

push()

在数组的末尾添加一个/多个数组元素(追加)

参数为数组元素

返回值为新数组的长度

元素组也会发生变化

var arr = [1,2,3];
arr.push(4);
arr.push(4,'computer');
console.log(arr.push(4,'computer'));    //5

unshift

在数组开头添加一个/多个元素

arr.unshift('red');

删除元素方法

pop()

删除数组的最后一个元素

不接参数

返回值为删除的值

arr.pop();
console.log(arr.pop);    //返回删除的值

shift()

删除数组的最后一个元素

筛选数组

var arr = [1000, 2000, 1800, 2100, 1500];
        var newArray = [];
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] < 2000) {
                // newArray[newArray.length] = arr[i]; 旧版
                newArray.push(arr[i]);
            }
        }

数组排序

翻转数组

 使用arr.reverse();翻转数组

 var arr = ['pink', 'red', 'blue'];
 arr.reverse();
 console.log(arr);

数组排序(冒泡)

var arr1 = [3, 4, 7, 1];

// arr1.sort(); //适合单位数

// 升序排序
// arr1.sort(function(a, b) {
//     return a - b;
// });

//降序排序
arr1.sort(function(a, b) {
    return b - a;
});
console.log(arr1);

数组索引方法

indexOf()

顺序查找 从前往后查找

返回该数组该元素的索引号,只返回第一个满足条件的索引号。

在该数组中找不到返回-1

var arr = ['red', 'green', 'blue', 'pink'];
console.log(arr.indexOf('blue')); //2

lastIndexOf()

倒序查找 从后往前查找

返回该数组该元素的索引号,只返回最后一个满足条件的索引号。

在该数组中找不到返回-1

var arr = ['red', 'green', 'blue', 'pink'];
console.log(arr.lastIndexOf('blue'));//2

数组去重

要求去除数组中的重复元素,重复元素只能保留一个,放入新数组中

遍历旧数组,拿旧数组查询新数组,该元素在新数组中存在,不添加

                                                        该数组在新数组中不存在,添加

如何知道元素是否存在:新数组.indexOf(旧数组数组元素) 返回-1,没有该元素

   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;
        }
        var demo = unique(['c', 'a', 'z', 'a', 'x', 'a', 'x'])
        console.log(demo);

数组转换为字符串

toString() 

var arr = [1,2,3];
console.log(arr.toString(arr));    // 1,2,3(字符串)

 join()

可以加分隔符

var arr = ['green','blue','red'];
console.log(arr1.join());     //green,blue,red
console.log(arr1.join(&));    //green&blue&red
console.log(arr1.join(-));    //green-blue-red

数组的连接,截取,内容部分删除

concat()

        连接两个数组

        返回新数组

slice()

        数据截取   (begin,end)   

        返回截取的新数组

splice()

        数据删除 (从几开始,删除几个)

        返回被删除项目的新数组

        会影响原数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值