数组的方法

1.数组的基本操作:unshift(头增)、shift(头删)、push(尾增)、pop(尾删)

(1)unshift :向数组的头部增加1个或者多个成员,返回值是数组的长度,会改变原数组。

var arr = [4,5,6];
var result = arr.unshift(4,5,55);
console.log(result);

(2)shift:不需要参数,默认从数组的头部移除一项,返回值是删除的项,会改变原数组。

    var arr = [4,5,6];
    var result =  arr.shift();
    console.log(result);

(3)push:向数组的尾部增加1个或者多个成员,返回值是数组的长度,会改变原数组。

    var arr = [4,5,6];
    var result = arr.push(4,5,55);
    console.log(result);

(4)pop:不需要参数,默认从数组的尾部移除一项,返回值是删除的项,会改变原数组。

    var arr = [4,5,6];
    var result =  arr.pop();
    console.log(result);

2.数组的其他方法:
(1)concat:合并 不会改变原数组 var arr = [1,2,3];

    var arr1 = arr.concat(1,2,3,[4,5,6]);
    console.log(arr);
    console.log(arr1);   

(2)slice:截取 不会改变原数组
eg.①

    var arr = [1,2,3,4,5,6,7];
    var arr1 = arr.slice(3,6);

其中:(3,6)表示左闭右开,包含了下标为3 的成员,不包含下标为6的成员。输出 结果为:[4,5,6]。

var arr = [1,2,3,4,5,6,7];
var arr1 = arr.slice(-3,6);
console.log(arr1);

其中:-3 表示从后往前数,6表示从前往后数,输出结果为:[5,6]

    var arr = [1,2,3,4,5,6,7];
    var arr1 = arr.slice(5);

接收一个参数时,该参数表示截取的开始位置,默认截到原数组的末尾,可以接收负数。
(3)splice:操作 会改变原数组用于操作数组:增加、删除、替换

    var arr = [1,2,3,4,5,6,7];
    var arr1 = arr.splice(5,2,8,9,10);

其中,5代表操作的起始位置,2代表删除几个,8,9,10代表替换的元素arr = [1,2,3,4,5,8,9,10]arr1 = [6,7] 输出结果为删除的元素
② 当只有一个参数时,表示从当前位置开始删除。
(4)sort 排序 会改变原数组
(5)reverse 逆序 会改变原数组
(6)indexOf 查找

    var arr = ["a","b","c","小沈阳","d"];
    var idx = arr.indexOf("小沈阳");

输出结果为 查询该元素的下标。

(7)join 转为字符串

var arr = [1,2,3,4,5,6,7];
var str = arr.join(&);
console.log(str)

输出结果为1&2&3&4&5&6&7此方法接收一个参数,表示间隔符号,返回值是以该间隔符号作为拼接符号组成的一个字符串,参数默认为 “,”。

(8)toSring 转为字符串

3.ES5中增加的静态数组方法:
(1)Array.isArray( 参数) 检测这个参数是不是对象。
(2)arr.forEach() 是一个迭代器,主要用于给定一种固定的循环方式,能够在不暴露内部数据结构的情况下,顺序的遍历内部数据。
接收一个函数作为参数,该函数有三个实参,函数执行的次数为数组的长度
第一个参数是数组的成员
第二个参数是数组的索引
第三个参数是数组本身 如:

var arr = ["a","b","c","d"]   
arr.forEach(function(value,index,arr){ 
    console.log(value,index,arr,this)
},{a : 1})

(3)arr.map()该方法是一个映射方法,会根据原数组生成一个新数组。(4)arr.filter()该方法是用于根据条件过滤数组,接收一个函数作为参数 如果该函数在执行的过程中返回真。则对应的元素会被过滤到一个新数组中
(5)arr.some()断言方法。
参数是函数,会根据函数的条件进行判定,函数会执行多次,当函数 的返回值为真的时候,停止循环,并且some()返回真。如果循环结束后,都为假。some才会为假。
(6)arr.every()同样是断言方式。
参数也是函数。会根据函数的条件进行判定。与some很相似。 但是只有函数的返回值为真时,才会进行下一次循环,一旦函数的返回值假,就会立即停止循环every的结果为假。只有函数的每一次结果为真时,every()的返回值才为真
(7)arr.fill()填充方法。
有三个参数。第一个参数表示要填充的成员。第二个参数表示填充的起始位置(默认为0)。但三个参数表示填充的结束位置(默认为数组的长度)。该方法会改变原数组 如果只有一个参数,则表示将整个数字的成员全部变成这个参数
(8)arr.reduce()循环方法
。参数是一个函数。循环的次数是该数组的长度-1。上一次的函数返回值(如果是刚开始就是默认角标0)成员索引原数组
(9)arr.reduceRight()和8相似。
区别:reduce是从左向右循环,本方法是从右向左循环

注:以上是作者结合自己所学的知识整理出的数组的方法,如果哪些知识点不严谨还请各位大神指点

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值