【JavaScript学习笔记13】JS中的内置对象(数组中的API)

引言

内置对象,在JS中本身已经为我们程序员写好的对象。对于内置对象,我们直接使用就可以,不需要再定义。比如说:Date,Array,Math,Error,String等,这里以Array的一些API为例子作介绍。
JS的数组基础:数组的创建与使用

数组Array的API

- sort() :

功能:自动排序,默认是升序排列
使用方法:sort(function(a,b){return a-b / b-a}
存在问题:只能通过第一位排列,没有降序
解决方法:使用回调函数进行规则设置,并实现降序
例:

    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);
    //数组排序(默认升序)
    console.log(arr.sort());
	//使用回调函数实现升序排列
    console.log(arr.sort(function (a,b) {
        return a-b;
    }));
    //使用回调函数实现降序排列
    console.log(arr.sort(function (a,b) {
        return b-a;
    }));

在这里插入图片描述
从图中结果可以看到,遇到一些复杂的数时,单单调用sort排序存在问题。
因此sort()正确而推荐的使用方法是:结合使用回调函数

	//使用回调函数实现升序排列
    console.log(arr.sort(function (a,b) {
        return a-b;
    }));
    //使用回调函数实现降序排列
    console.log(arr.sort(function (a,b) {
        return b-a;
    }));

- slice()

功能:返回从原数组中指定开始下标到结束下标之间的项组成的新数组。即:把指定的下标范围截取下来,形成一个新数组
使用方法:slice(参数1(起始位置),参数2(结束位置)
例:

    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //截取数组下标为二的位置到结尾的元素
    console.log(arr.slice(2));

    //截取数组下标为2 - 4的位置的元素
    console.log(arr.slice(2, 4));

    //截取数组长度-3的位置到结尾的元素 arr.length - 3 = 8-3 =5  即5-结束的元素
    console.log(arr.slice(-3));

在这里插入图片描述

- splice()

功能:实现数组的删除,插入,替换,清空数组等
使用方法:

  • 删除功能:splice(参数1(要删除第一项的位置),参数2(要删除的项数))
    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //删除数组中项数为2-4的元素
    console.log("已删除的数组:"+arr.splice(2, 4));
    console.log("arr:"+arr);

在这里插入图片描述

  • 插入功能:splice(参数1(起始位置),参数2(要删除的项数),参数3(要插入的项)
    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //从当前数组的位置2开始插入11,22两个元素
    arr.splice(2, 0, 11, 22);
    console.log(arr);

在这里插入图片描述

  • 替换功能:splice(参数1(起始位置),参数2(要删除的项数),参数3(要插入的任意数量的
    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //删除当前数组第2项,然后从位置2插入22,33,44
    arr.splice(2,1,22,33,44);
    console.log(arr);

在这里插入图片描述

  • 清空数组:splice(0)
    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //清空数组
    arr.splice(0);
    console.log(arr);

在这里插入图片描述

- forEach()

功能:对数组进行遍历循环,对数组中每一项运行给定函数
使用方法:forEach(function(value(值),index(索引)){})
例:

    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //遍历数组
    arr.forEach(function (value,index) {
        console.log(index+":"+value);
    })

在这里插入图片描述

- map()

功能:“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成数组。

    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //映射数组中的元素的平方,即:-10*-10,20*20...
    console.log(arr.map(function (value, index) {
        return value * value;
    }));

在这里插入图片描述

- filter()

功能:过滤,数组中每一项运行给定的函数,返回满足条件的项,组成新的数组

    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //保留数组中负数(过滤所有正数)
    console.log(arr.filter(function (value) {
        return value < 0;
    }));

在这里插入图片描述

- every()

功能:判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true

    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //判断数组中的项是否都是正数
    console.log(arr.every(function (value, index) {
        return value > 0;
    }));

    //判断数组中的项是否都大于-20
    console.log(arr.every(function (value, index) {
        return value > -20;
    }));

在这里插入图片描述

- some()

功能:判断数组存在满足条件的项,只要有一项满足条件,则返回true

    var arr = [-10,20,30,10,400,6,40,21];
    //直接输出
    console.log(arr);

    //判断数组中的项是否有正数
    console.log(arr.some(function (value, index) {
        return value > 0;
    }));

在这里插入图片描述

发布了91 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/RayCongLiang/article/details/104275128