常用数组方法总结

1、toString()

 把数组转换为数组值(逗号分隔)的字符串

join() 方法也可将所有数组元素结合为一个字符串,它的行为类似 toString(),但是您还可以规定分隔符

var a1 = [1, 2, 3];
var a2 = a1.toString();
a2 //"1,2,3"

2、find

返回满足条件的第一个元素,如果没有满足条件的元素,则返回 undefined

function isBigEnough(element, index, array) {
  return (element >= 10);
}
var a1 = [8, 18, 14];
var num = a1.find(isBigEnough); //18

3、includes

用来判断当前数组是否包含某指定的值,如果是,则返回 true,否则返回 false 

该函数接受两个参数,第二个参数表示开始查找位置,起始位置为 0。这个方法与 indexOf 方法最大的区别不仅在于返回值一个是索引,一个是布尔值,indexOf 方法使用的是 === 来判断,无法判断 NaN 情况,而 includes 可以判断

var a1 = [1, NaN];
a1.indexOf(NaN);//-1
a1.includes(NaN);//true

4、splice

splice() 方法用新元素替换旧元素,以此修改数组的内容

第一个参数(1)定义了应添加新元素的位置(拼接);第二个参数(2)定义应删除多少元素;其余参数(“5”,“6”)定义要添加的新元素 返回一个包含已删除项的数组

var a1 = [1, 2, 3, 4];
var a2 = a1.splice(1, 2);
a1 //[1, 4]
a2 //[2, 3]
a1 = [1, 2, 3, 4];
a2 = a1.splice(1, 2, 5, 6);
a1 //[1, 5, 6, 4]

5、slice

slice() 方法用数组的某个片段切出新数组,并返回这个新数组

可接受两个参数,比如 (1, 3),该方法会从开始参数选取元素,直到结束参数(不包括)为止

var a1 = [1, 2, 3, 4, 5];
var a2 = a1.slice(1, 3);
a1 //[1, 2, 3, 4, 5]
a2 //[2, 3]

 6、shift

shift() 方法删除数组的 第一个 元素,并返回这个元素。该方法会改变数组的长度

7、unshift

unshift() 方法在数组的开头添加一个或者多个元素,并返回数组新的 length 值

var a1 = [1, 2, 3];
var a2 = a1.unshift(4);
a1 //[4, 1, 2, 3]
a2 //4

 8、pop

pop() 方法删除一个数组中的最后的一个元素,并且返回这个元素

var a1 = [1, 2, 3];
var a2 = a1.pop();
a1 //[1, 2]
a2 //3

 9、push

push() 方法添加一个或多个元素到数组的末尾,并返回数组新的长度(length 属性值)

var a1 = [1, 2, 3];
var a2 = a1.push(4);
a1 //[1, 2, 3, 4]
a2 //4

 10、map

map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组

var a1 = [1, 4, 9];
var a2 = a1.map(Math.sqrt);
a1 //[1, 4, 9]
a2 //[1, 2, 3]

 11、reduce

reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值

var getAdd = (pre, cur) => pre + cur;
var a1 = [1, 2, 3];
var a2 = a1.reduce(getAdd, 0);
a1 //[1, 2, 3]
a2 //6

 12、indexOf

indexOf()方法返回给定元素能找在数组中找到的第一个索引值,否则返回-1 

var array = [1, 2, 5];
array.indexOf(5); // 2
array.indexOf(7); // -1

 13、forEach

forEach() 方法对数组的每个元素执行一次提供的函数(回调函数) 

function logArrayElements(element, index, array) {
    console.log("a[" + index + "] = " + element);
}

// 注意索引2被跳过了,因为在数组的这个位置没有项
var result = [2, 5, 9].forEach(logArrayElements);
// a[0] = 2
// a[1] = 5
// a[2] = 9
result //underfined

 14、filter

filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组

function isBigEnough(element, index, array) {
  return (element >= 10);
}
var a1 = [19, 22, 6, 2, 44];
var a2 = a1.filter(isBigEnough);
a1 //[19, 22, 6, 2, 44]
a2 //[19, 22, 44]

 15、sort

sort() 方法对数组的元素做原地的排序,并返回这个数组。 sort 排序可能是不稳定的。默认按照字符串的Unicode码位点(code point)排序

var big = function(a, b){
  return a - b;
}
var a1 = [2, 4, 77, 1];
var a2 = a1.sort(big);
a1 //[1, 2, 4, 77]
a1 === a2; //true

 常见数组方法总结!

 平时经常会用到,但有一些还是记不住,就做了个笔记方便查看~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值