美文网首页JavaWeb
js:数组的常见方法

js:数组的常见方法

作者: 蘑菇v5 | 来源:发表于2019-04-03 14:43 被阅读0次
    slice()

    从数组中提取指定的一个或者多个元素,返回结果为新的数组不会改变原来的数组
    备注:该方法不会改变原数组,而是将截取到的元素封装到一个新数组中返回。
    语法:
    新数组 = 原数组.slice(开始位置的索引, 结束位置的索引); //注意:包含开始索引,不包含结束索引

    splice()

    从数组中删除指定的一个或多个元素,返回结果为新的数组会改变原来的数组,会将指定元素从原数组中删除
    语法:
    新数组 = 原数组.splice(起始索引index, 需要删除的个数, 第三个参数, 第四个参数...);
    上方语法中,第三个及之后的参数,表示:向原数组中添加新的元素,这些元素将会自动插入到开始位置索引的前面

    concat()

    连接两个或多个数组,返回结果为新的数组不会改变原数组
    语法:
    新数组 = 数组1.concat(数组2, 数组3 ...);

    join()

    将数组转换为字符串,返回结果为转换后的字符串不会改变原来的数组
    补充:join()方法可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符;如果不指定连接符,则默认使用 , 作为连接符,此时和 toString()的效果是一致的。
    语法:
    新的字符串 = 原数组.join(参数); // 参数选填

    reverse()

    反转数组,返回结果为反转后的数组会改变原来的数组
    语法:
    反转后的数组 = 数组.reverse();

    sort()方法

    sort():对数组的元素进行从小到大来排序(会改变原来的数组)。

    • 无参时

    如果在使用sort() 方法时不带参,则默认按照Unicode编码,从小到大进行排序。

    • 带参时

    如果在sort()方法中带参,我们就可以自定义排序规则。具体做法如下:
    我们可以在sort()添加一个回调函数,来指定排序规则。回调函数中需要定义两个形参,浏览器将会分别使用数组中的元素作为实参去调用回调函数。
    浏览器根据回调函数的返回值来决定元素的排序:
    1、如果返回一个大于0的值,则元素会交换位置
    2、 如果返回一个小于0的值,则元素位置不变
    3、 如果返回一个0,则认为两个元素相等,则不交换位置

       (冒泡排序)
        var arr3 = [5, 2, 11, 3, 4, 1];
        // 自定义排序规则
        var result = arr3.sort(function(a, b) {
        return a - b; // 升序排列
        // return b - a; // 降序排列
        });
        console.log("arr3 =" + JSON.stringify(arr3));
        console.log("result =" + JSON.stringify(result));
    

    indexOf() 和 lastIndexOf():获取数据的索引

    语法
    索引值 = 数组.indexOf(value);
    索引值 = 数组.lastIndexOf(value);
    解释

    • indexOf(value):从前往后索引,获取value在数组中的第一个下标。
    • lastIndexOf(value) :从后往前索引,获取value在数组中的最后一个下标。

    作用
    利用这个方法,我们可以判断某个值是否在指定的数组中。如果没找到则返回-1

    find()

    语法
    find(function(item, index, arr){return true})

    作用:找出第一个满足「指定条件返回true」的元素。

    findIndex()

    语法

    findIndex(function(item, index, arr){return true})

    作用:找出第一个满足「指定条件返回true」的元素的index。

    Array.from()

    语法

    array = Array.from(arrayLike)

    作用:将伪数组或可遍历对象转换为真数组

    伪数组与真数组的区别

    伪数组的原型链中没有 Array.prototype,而真数组的原型链中有 Array.prototype。因此伪数组没有 pop、join等属性。

    Array.of()

    语法

    Array.of(value1, value2, value3)

    作用:将一系列值转换成数组。

    isArray():判断是否为数组

    布尔值 = Array.isArray(被检测的值) ;

    以前,我们会通过 A instanceof B来判断A 是否属于B 类型。但是在数组里,这种 instanceof方法已经用的不多了,因为有下面isArray()方法。

    toString():转换数组

    字符串 = 数组.toString();

    解释:把数组转换成字符串,每一项用,分割。

    valueOf():返回数组本身

    数组本身 = 数组.valueOf();

    这个方法的意义不大。因为我们指直接写数组对象的名字,就已经是数组本身了。

    清空数组

    清空数组,有以下几种方式:

        var array = [1,2,3,4,5,6];
        array.splice(0);      //方式1:删除数组中所有项目
        array.length = 0;     //方式2:length属性可以赋值,在其它语言中length是只读
        array = [];           //方式3:推荐
    

    相关文章

      网友评论

        本文标题:js:数组的常见方法

        本文链接:https://www.haomeiwen.com/subject/awfzbqtx.html