目录
splice()【通过删除现有元素/添加新元素来更改数组内容】
Arrary.isArrary()【判断传递的值是否是Arrary】
findIndex()【返回指定条件的数组中的第一个元素的索引】
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() 同上,不过从数组末尾向前做累加