数组(Array )对象方法

目录

valueOf()

toString()【数组转字符串】

toLocaleString()【数组转本地字符串】

slice()【取连续数据返回新数组】

splice()【通过删除现有元素/添加新元素来更改数组内容】

reverse()【颠倒数组元素顺序】

sort()【数组元素排序】

concat()【连接两个或多个数组】

join()【拼接成字符串】

shift()【割取数组第一个元素】

pop()【割取数组最后一个元素】

unshift() 【数组头新增元素后返回新长度】

push()【数组尾新增元素后返回新长度】

Arrary.isArrary()【判断传递的值是否是Arrary】

every()【一假则假】

some()【全真为真】

find()【返回指定条件的数组中的第一个元素的值】

findIndex()【返回指定条件的数组中的第一个元素的索引】

indexOf()【返回给定元素的第一个索引】

includes()【是否有指定的值】

map()【新数组中元素为原数组元素调用函数处理后的值】

forEach()【数组中每个元素执行一次函数】

reduce()【数组元素的和】


valueOf()

定义:返回数组对象原始值

toString()【数组转字符串】

定义:将数组转换为字符串,并返回结果。注意:返回值与没有参数的join()方法返回字符串相同,元素间用逗号分隔

toLocaleString()【数组转本地字符串】

定义:将数组转换成本地字符串,并返回结果。

说明:首先调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串。

拓展:toLocaleString()方法还可以来格式化数据返回字符串【对象、数字】。

dateObj.toLocaleString([locales [, options]])
//locales:可选,指定格式化对象时使用的语言环境
//options:可选,对象格式,设置格式化样式的配置属性
Date.prototype.toLocaleString(locales,[options])
//options:localeMatcher/timeZoneName/hour12/hourCycle/formatMatcher/weekday/era/year/month/day/hour/minute/second等
var date = new Date();
console.log(date.toLocaleString('zh', {hour12: true}));  // 2019/5/12 下午2:53:49
console.log(date.toLocaleString('zh', {hour12: false})); //  2019/5/12 14:53:49
Number.prototype.toLocaleString()
//options:localeMatcher/style/currency/currencyDisplay/useGrouping/minimumIntegerDigits/minimumFractionDigits/maximumFractionDigits/minimumSignificantDigits/maximumSignificantDigits等

locales属性可选值,参考:这里

slice()【取连续数据返回新数组】

定义:从已有数组中返回选定元素【浅拷贝】

注意:start:从何处开始选取。负数:从数组尾部开始算起的位置

           end:从何处结束选取(数组下标)。不指定:从包含start到结束。负数:从数组尾部开始算起的元素

arrayObject.slice(start,end)

splice()【通过删除现有元素/添加新元素来更改数组内容】

定义:向/从数组中添加/删除项目,然后返回被删除的项目。

arrayObject.splice(index,howmany,item1,.....,itemX)
//index:必需。添加/删除元素的位置,负数:从数组结尾处开始计算位置
//howmany:必需。要删除的元素数量,0:不删除元素
//item1, ..., itemX:可选。向数组添加的新元素

注意:返回删除的元素数组,如果未删除,返回空数组。所有操作改变原数组。

reverse()【颠倒数组元素顺序】

定义:将数组中元素的顺序颠倒

arrayObject.reverse()

sort()【数组元素排序】

定义:在原数组上对数组元素进行排序

注意:默认按照字符编码顺序进行排序。按其它标准进行排序,就要提供比较函数

arrayObject.sort(sortby)
function sortNumber(a,b){
    return a - b
}
var arr=[10,5,40,25,1000,1];
document.write(arr.sort())//1,10,1000,25,40,5
document.write(arr.sort(sortNumber))//1,5,10,25,40,1000

concat()【连接两个或多个数组】

定义:合并两个或多个数组。注意:不更改现有数组,返回一个新数组

arrayObject.concat(arrayX,arrayX,......,arrayX)

使用concat()连接数组中的值

var a = [1,2,3];
document.write(a.concat(4,5));
//1,2,3,4,5

join()【拼接成字符串】

定义:将数组中所有元素连接到一个字符串中。注意:可指定连接分隔符

arrayObject.join(separator)

shift()【割取数组第一个元素】

定义:删除并返回数组的第一个元素。注意:原数组长度-1,如果数组为空,则不改变数组,返回undefined

arrayObject.shift()

pop()【割取数组最后一个元素】

定义:删除并返回数组的最后一个元素。注意:原数组长度-1,如果数组为空,则不改变数组,返回undefined

arrayObject.pop()

unshift() 【数组头新增元素后返回新长度】

定义:将一个或多个元素添加到数组的开头,并返回数组长度。注意:改变原数组

arrayObject.unshift(newelement1,newelement2,....,newelementX)

push()【数组尾新增元素后返回新长度】

定义:向数组末尾添加一个或多个元素,并返回新长度。注意:改变原数组

arrayObject.push(newelement1,newelement2,....,newelementX)

Arrary.isArrary()【判断传递的值是否是Arrary】

定义:用去确定传递的值是否是一个Arrary。注意:当检测Array实例时, Array.isArray 优于 instanceof,因为Array.isArray能检测iframes.

Array.isArray(obj)

假如不存在Array.isArrary(),则在其他代码之前运行下面的代码将创建该方法。

if (!Array.isArray) {
  Array.isArray = function(arg) {
    return Object.prototype.toString.call(arg) === '[object Array]';
  };
}

every()【一假则假】

定义:用于检测数组所有元素是否符合而指定条件(通过函数提供)。注意:不改变原数组,不会对空数组进行检测

array.every(function(currentValue,index,arr), thisValue)
//function(currentValue, index,arr):必须
    //currentValue:必须;index:可选;arr:可选
//thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined"

some()【全真为真】

定义:于检测数组中的元素是否满足指定条件(函数提供)。注意:不改变原数组,不会对空数组进行检测

array.some(function(currentValue,index,arr),thisValue)

find()【返回指定条件的数组中的第一个元素的值】

定义:返回通过测试(函数内判断)的数组的第一个元素的值。注意:返回符合条件的元素后就不再执行函数。未找到,返回undefined

array.find(function(currentValue, index, arr),thisValue)

findIndex()【返回指定条件的数组中的第一个元素的索引】

定义:返回传入一个测试条件(函数)符合条件的数组第一个元素位置。注意:返回符合条件的元素后就不再执行函数。未找到:-1

array.findIndex(function(currentValue, index, arr), thisValue)

indexOf()【返回给定元素的第一个索引】

定义:返回数组中某个指定的元素第一次出现的位置。注意:0开始,未找到:-1

array.indexOf(item,start)
//item:必须
//start:可选。0-arrary.length - 1

lastIndexOf()返回给定元素最后出现位置的索引。

includes()【是否有指定的值】

定义:判断一个数组是否包含一个指定的值

arr.includes(searchElement, fromIndex)
//searchElement:必须
//fromIndex:可选,默认0。从该索引处开始查找。负数:从后开始

map()【新数组中元素为原数组元素调用函数处理后的值】

定义:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。注意:不改变原数组,不会对空数组进行检测

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

常用在处理接口返回数据

const users=res.items.map(item => ({
    url: item.html_url,      
    img: item.avatar_url,      
    name: item.login,
    })
);

forEach()【数组中每个元素执行一次函数】

定义:调用数组的每个元素,并将元素传递给回调函数。 注意:对于空数组是不会执行回调函数的

array.forEach(function(currentValue, index, arr), thisValue)

reduce()【数组元素的和】

定义:接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
//function(total,currentValue, index,arr):必须
    //total:必须,初始值或计算结束后的返回值
    //currentValue:必须,当前元素
    //currentIndex:可选,当前元素的索引
    //arr:可选,当前元素所属的数组对象
//initialValue:可选,传给函数的初始值

reduceRight() 同上,不过从数组末尾向前做累加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值