JavaWeb

js:数组的常见方法

2019-04-03  本文已影响0人  蘑菇v5
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);
解释

作用
利用这个方法,我们可以判断某个值是否在指定的数组中。如果没找到则返回-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:推荐
上一篇 下一篇

猜你喜欢

热点阅读