concat
合并两个不同的数组
let a = [1, 2, 3];
let b = [4, 5, 6];
let c = a.concat(b);
console.log(c);
输出:[ 1, 2, 3, 4, 5, 6 ]
join
将数组元素使用某个字符连成一个字符串
let a = [1, 2, 3];
let b = a.join("-");
console.log(b);
输出:1-2-3
indexOf
返回数组中给定的第一元素的索引,没有该元素就返回-1
let a = [1, 2, 3];
let b = a.indexOf(0);
let c = a.indexOf(1);
let d = a.indexOf(3);
console.log(b);
console.log(c);
console.log(d);
输出:
-1
0
2
lastIndexOf
和上一个相同,返回数组中给定的第一元素的索引,没有该元素就返回-1,不同点是这个是从尾部开始找
let a = [1, 2, 3, 3];
let b = a.lastIndexOf(0);
let c = a.lastIndexOf(1);
let d = a.lastIndexOf(3);
console.log(b);
console.log(c);
console.log(d);
输出:
-1
0
3
slice
通过索引分割新的数组返回
let a = [1, 2, 3];
let b = a.slice(0, 2);
console.log(b);
输出:[ 1, 2 ]
toString
将数组以字符串类型返回
let a = [1, 2, 3];
let b = a.toString();
console.log(b);
console.log(typeof b);
输出:1,2,3和string
reduce
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
let a = [1, 2, 3, 4];
function getSum(num1, num2) {
return num1 + num2;
}
let b = a.reduce(getSum);
console.log(b);
输出:10
如果不理解我们可以使用Visual Studio Code对getSum方法时打个断点,就清晰明了了
首先我们建一个main.js文件,里面写上我们上面的代码
在getSum方法右侧点上一个小红点
我们使用node运行我们的js文件里面的代码
这里我们可以看的出第一次进入getSum方法时num1=1,num2=2
我们点击这里继续运行
这里可以看出我们return出来的值是3,我们再往下运行
这里可以看出,第二次进入getSum方法时num1=3,num2=3,return出来的值是6,我们再往下运行
这里可以看出,第二次进入getSum方法时num1=6,num2=4,return出来的值是10,我们再往下就运行到console.log(b)了,这里就返回了10,所以reduce是把数组里面的元素一个一个往下累加的
reverse
颠倒数组中元素的顺序
let a = [1, 2, 3, 4];
let b = a.reverse();
console.log(b);
输出:[ 4, 3, 2, 1 ]
filter
可以理解这是个数组的过滤器,对数组中的每一个元素运行给定的函数,只返回给定的函数返回true的元素
let a = [1, 2, 3, 4];
function getFilter(num) {
if (num % 2 === 0) {
return true;
}
}
let b = a.filter(getFilter);
console.log(b);
输出:[ 2, 4 ]
forEach
数组遍历
let a = [1, 2, 3, 4];
a.forEach((item, index) => {
console.log(`${item}--${index}`);
});
输出:
1--0
2--1
3--2
4--3
map
对数组中的每一个元素运行给定的函数,返回每次函数调用的结果组成的数组,可以理解为给定一个函数处理数组里每一个元素
let a = [1, 2, 3, 4];
function getMap(num) {
return num + 1;
}
let b = a.map(getMap);
console.log(b);
输出:[ 2, 3, 4, 5 ]
sort
按照元素的ASCII
值进行排序
ASCII表
来源:百度百科
欢迎评论区补充,并提出宝贵的建议