title: js数组方法
date: 2019-04-09 14:43:17
tags: js
concat 合并
arr1.concat(arr2)
entries
该方法返回一个新的Array Iterator(迭代器)对象,该对象包含数组中每个索引对应的键/值对
var a = ['a','b','c']
var iterator = a.entries()
console.log(iterator) // Array Iterator{}
console.log(iterator.next().value) // [0,'a']
或者
for(let a of iterator){
console.log(a)
}
//[0,'a']
//[1,'b']
//[2,'c']
every()
array.every(function(currentValue,index,arr), thisValue)
检测数组中每个元素是否符合筛选条件;
参数1:function(每一个元素) 必传
2:thisValue 可选
返回 true/false
fill()
array.fill(value, start, end)
将数组中元素都替换成固定值
filter()
过滤出符合条件的元素,组成新数组并返回
array.filter(function(currentValue,index,arr), thisValue)
1.不会对空数组检测
2.不会改变原数组
find()
获取数组中第一个符合条件的值
array.find(function(currentValue, index, arr),thisValue)
找不到返回undefined
findIndex()
获取数组中第一个符合条件的值,返回所在位置
array.findIndex(function(currentValue, index, arr),thisValue)
找不到返回-1
forEach()
遍历数组
array.forEach(function(currentValue, index, arr), thisValue)
includes()
判断数组中是否包含一个指定的值
arr.includes(searchElement, fromIndex)
返回true/false
indexOf()
array.indexOf(item,start)
返回数组中某个指定元素的位置
找不到返回-1
join()
array.join(分隔符); //不传就是没有分隔
数组中所有元素放入一个字符串并返回
keys()
从数组创建一个包含数组键的可迭代对象
array.keys();
返回: Array Iterator
for(let a of array.keys()){
console.log(a)
}
log出索引值
lastIndexOf()
获取数组中第一个符合条件的值,返回所在位置,倒序
array.lastIndexOf();
map()
返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
array.map(function(currentValue,index,arr), thisValue)
pop()
删除数组中最后一个元素,并返回
array.pop();
push()
向数组末添加一个或多个元素,返回新长度
array.push(newelement1,newelement2,....,newelementX)
reduce()
接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
高阶函数,可用于compose
reduceRight()
从右边开始reduce
reverse()
翻转数组并返回
shift()
删除数组中第一个元素,并返回该元素
会改变数组长度
splice()
array.splice(index,howmany,item1,.....,itemX)
按照指定位置,删除数组中的元素;第三个以后参数,可以在删除位置添加元素
some()
用法同every(),区别为every:每一项都为true,才返回true;some: 任一项为true,就返回true
sort()
array.sort(sortfunction(a,b))
对数组进行排序,a,b为前后两个元素,return a>b;升序,return a< b 降序;
slice()
array.slice(start,end);
从已有数组中选出指定元素,并放进一个数组返回
不会改变原数组
toString()
[0,1].toString = '0,1'
unshift()
想数组开头添加一个或多个元素,返回新长度
arrayObject.unshift(newelement1,newelement2,....,newelementX)