JavaScript中数组基本方法(二)

大家好,接着昨天的更新。

昨天讲到数组的splice,push,pop,shift,unshift方法,今天讲一下:

indexOf(数据,[startIndex])/lastIndexOf(数据,[startIndex]):

作用:判断当前数组中是否包含这个数据 ,包含返回首次/最后一次出现的索引     不包含返回-1;

注意:此方法ie8以下不兼容,

是否改变原数组:不改变;

实例:


join("拼接符");

作用:将数组中的每一项用拼接符进行拼接;

是否改变原数组:不改变;

返回:字符串;


slice(startIndex,endIndex);

作用:数组的截取;

参数:start Index:开始索引   end:结束索引

作用:从当前索引开始 截取到结束索引(不包含结束索引);

返回值:将截取到的每一项以一个新数组返回,没有截取到返回空数组;

注意:1.不传递参数:默认starindex的值为0,截取到末尾

2.传递一个参数:从当前索引开始截取到末尾;

3.传递负数:starindex可以为负  数组最后一项为-1然后往前数;endindex:也可以为负,但是starindex要小于endindex;

concat(数据,...)

作用:将当前数组与数据合并

返回值:合并后的数组


reverse();

作用:倒序,翻转;

是否改变原数组:改变

返回值:返回倒序后的数组


sort();

作用:默认升序

不传递参数:是按照字符串比较进行排序的,只能处理0-9,不能处理多位数

返回值:排好序数组

是否改变原数组:改变


sort(callback);

参数:callback: 这个函数需要定义两个形参, 这个函数被sort方法调用的时候会传递实参,这个实参就是数组中的后一项及前一项 ,比较根据返回值的正负


但是,如果数组里面是对象,像这个样的


我们可以取对象中的一个值,如:年龄;


也可以按照出生日期比较进行排序;


在这里说明一下为什么要加这个 new Date();

因为日期对象相见 ,首先会先转为时间戳(时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数),然后在进行相减,获取到的是毫秒值的差值;

看一下返回值;

特意把这个age这个键值改了

当然了,也可以根据名字进行比较;

中文:是根据拼音进行比较

英文:则按照英文字符表


今天的内容就更新到这吧,明天继续

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容