Array 对象方法

目录

splice()slice()apply()concat()split()join()push()pop()shift()unshift()

  1. concat()

定义:用来连接两个或者多个数组,不会改变现有数组,返回被连接数组的副本

用法:arrayObject.concat(arrayX,arrayX,......,arrayX)

arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

返回值:

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

注意当concat(),参数为空时,效果和slicce(0)是一样的,将arr里面的值copy给newArr

var newArr=arr.concat();

var newArr=arr.slice(0);

   2. join()

定义:join() 方法用于把数组中的所有元素放入一个字符串中。元素是通过指定的分隔符进行分隔的。

用法:arrayObject.join(separator)

separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

返回值:返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。

3.splice()

定义:splice() 方法用于添加或删除数组中的元素。这种方法会改变原始数组。

用法:arrayObject.splice(index,howmany,item1,.....,itemX)

参数描述
index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX可选。向数组添加的新项目。

返回值:

Array,包含被删除项目的新数组,如果有的话。

arr.aplice(index,0,item):如果是0,则不会删除元素,在index处加入一个元素item。

4.lastIndexOf()

arr.lastIndexOf(elem),elem元素在数组中最后一次出现的下标
 var result = [];
    arr.forEach(function(elem){
       if(arr.indexOf(elem) !=arr.lastIndexOf(elem) && result.indexOf(elem) == -1){
           result.push(elem);
       }
    });
    return result;
 

5. map()

map():返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,map()方法按照原始数组元素顺序依次处理元素
map方法会给原数组中的每个元素都按顺序调用一次callback函数,callback每次执行后的返回值(包括undefined)组合起来形成一个新数组。callback函数只会在有值的索引上被调用,那些从来没被赋过值或者使用delete删除的索引则不会被调用。

使用map方法处理数组时,数组元素的范围是在callback方法第一次调用之前就已经确定了。在map方法执行的过程中,原数组中新增加的元素将不会被callback访问到,若已经存在的元素被改变或删除了,则他们传递到callback的值是map方法遍历到他们的那一刻的值,而被删除的元素将不会被访问到。
语法:

array.map(function(value, index, arr),thisValue)

function(currentValue, index,arr)必须。函数,数组中的每个元素都会执行这个函数
函数参数:
参数描述
currentValue必须。当前元素的值
index可选。当前元素的索引值
arr可选。当前元素属于的数组对象
thisValue可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。

返回值:返回callback函数操作后的新的数组


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值