javascript-数组常用方法

115 阅读5分钟

JS-常用数组方法

前言

大部分的编程问题都与数据集合的操作有关,js的诸多方法让这些操作简单化。本文是我在复习js过程中总结的一些常用的数组方法,同时承接上文数据类型-引用数据类型数组的知识。

数组属性

数组在js中是对象类型,其基本属性 length: 表示数组长度

请添加图片描述

数组方法

javascript提供的数组方法很多,这里介绍常用的数组方法。值得我们注意的是,在使用的时候要注意区分一些方法修改当前数组,一些方法操作完成后返回数组。

例如:push() 和 concat() 方法

方法作用返回值
push()向数组末尾添加一个元素返回数组长度
pop()删除数组末尾的一个元素返回被删除的元素
unshift()向数组头部添加一个元素返回数组长度返回数组长度
shift()删除数组头部的一个元素返回被删除元素
splice()为数组做删除、添加、替换操作分别返回删除元素、无返回值、被替换元素
fill()固定值赋给数组固定位置返回数组
concat()连接数组返回新数组
reverse()数组倒序返回数组
sort()对数组排序返回数组
slice()提取子数组返回子数组
copyWithin()将数组中一段复制到另一个位置返回数组
join()数组转化为字符串,可指定间隔符,默认逗号隔开返回字符串
toString()数组转化为字符串,默认逗号隔开返回字符串
indexOf()在数组中进行值匹配,从数组头部开始有则返回元素下标,否则返回 -1
lastIndexOf()在数组中进行值匹配,从数组末尾开始有则返回元素下标,否则返回 -1
findIndex()在数组中进行内容匹配,从数组头部开始,条件可为函数有则返回元素下标,否则返回 -1
findLastIndex()在数组中进行内容匹配,从数组末尾开始,条件可为函数有则返回元素下标,否则返回 -1
find()在数组中进行内容匹配,条件可为函数有则返回元素本身,否则返回 null
some()在数组中查找是否至少有一个满足条件的元素有则返回 true, 否则返回 false
every()在数组中查找是否所有元素均满足条件是则返回 true, 否则返回 false
map()将数组改为想要的格式 / 拆分数组返回数组
filter()删除数组中不想要的元素返回数组
reduce()合并数组,归纳数组为一个值返回值

push() 方法:

arr.push( content );

content 表示添加的元素

将 content 添加至数组末尾。 返回数组长度

请添加图片描述

pop() 方法

arr.pop();

删除数组最后一位元素。 返回被删除的元素

请添加图片描述

unshift() 方法

arr.unshift( content );

content 表示添加的元素

将 content 添加至数组头部。返回数组长度

请添加图片描述

shift() 方法

arr.shift();

删除数组的头部元素。返回被删除元素

请添加图片描述

splice() 方法

arr.splice(start, delete_num, content1, content2, ...);

start 表示开始操作的元素下标; delete_num 表示删除的元素个数; contentx...表示要替换或者添加的内容

①删除元素:返回被删除元素

请添加图片描述

②添加元素:无返回值

请添加图片描述

③替换元素:返回被替换元素

请添加图片描述

fill() 方法

arr.fill( content, start, end );

content 表示替换的内容; start 表示替换的开始下标; end 表示替换的结束下标+1;

将固定值赋给数组中的固定位置。返回数组

请添加图片描述

concat() 方法

arr.concat( target_arr );

target_arr 表示连接的数组;

将target_arr 数组连接在arr数组后面。返回数组

请添加图片描述

reverse() 方法

arr.reverse();

将数组 arr 倒序。返回数组 请添加图片描述

sort() 方法

arr.sort( [function(a, b) { return a - b; }] );

[]中的函数为比值函数,按照数值比值排序,返回排序后的数组,可不填,不填默认字符排序。返回数组

请添加图片描述

slice() 方法

arr.slice( start, end );

start 表示提取的开始下标; end 表示提取的结束下标;

从数组 arr 中提取子数组。返回子数组

请添加图片描述

copyWithin() 方法

arr.copyWithin(target, start, end);

target 表示复制的目标位置; start 表示从哪里开始复; end 表示复制到哪里结束;

将数组中一串有序的元素复制到数组的另一个位置。返回数组

请添加图片描述

join() 方法

arr.join([separator]);

separator 表示分隔符,不填默认逗号

将数组转换为字符串。返回字符串

请添加图片描述

toString() 方法

arr.toString();

将数组转换为字符串。返回字符串

indexOf() 方法

arr.indexOf(content);

content 表示查找的内容;

在arr数组中从头部开始寻找和content相同的元素, 返回其下标,未找到则返回-1

请添加图片描述

lastIndexOf() 方法

arr.lastIndexOf( content );

content 表示查找的内容;

在arr数组中从末尾开始寻找和content相同的元素, 返回其下标,未找到则返回-1

请添加图片描述

findIndex() 方法

arr.findIndex( [x => x == target] );

[]中填写匹配函数

查找符合条件的元素,与indexOf相比更加灵活。 返回符合条件的元素的下标,未找到则返回 -1

请添加图片描述

findLastIndex() 方法(新提案,google浏览器暂不支持, 可以忽略)

arr.findLastIndex( [x => x == target] );

[]中填写匹配函数

查找符合条件的元素,从数组末尾开始寻找, 返回符合条件的元素的下标,未找到则返回 -1

find() 方法

arr.find( [x => x == target] );

[]中填写匹配函数

查找符合条件的元素,从数组头部开始寻找, 返回符合条件的元素本身,未找到则返回 -1 请添加图片描述

some() 方法

arr.some( [x => x == target] );

[]中填写匹配函数

判断数组中是否有符合条件的元素,当存在有一个元素符合条件时,返回true, 否则返回false 请添加图片描述

every() 方法

arr.every( [x => x == target] );

[]中填写匹配函数

判断数组中是否所有元素符合条件,返回true, 否则返回false

请添加图片描述

map() 方法

arr.map();

将数组中的内容转化为开发者想要的格式 请添加图片描述

filter() 方法

arr.filter();

过滤器,删除数组中不需要的元素

请添加图片描述

reduce() 方法

arr.reduce(total, num);

将数组内容化为一个值,常用做累加器。

请添加图片描述 请添加图片描述