- unshift()是在头部添加,shift()在头部删除
- delete a[0] 删除某一个元素
3. 数组属性:
1、 constructor执行数组对象的构造函数,
2、length返回数组元素个数,
3、prototype构造函数具有的属性,可用来添加属性和函数
4. splice的功能:
- 删除:splice(开始下标,删除元素个数);
- 插入:splice(开始下标,0(表示不删除),插入的项)
- 替换:splice(开始下标,删除的项数,插入的项)
- 直接操作原数组
slice的功能
- 从当前的数组分离出新的元素组成新的数组,不操作当前数组
- slice(起始下标,结束下标加1)
- 如果是负数,就用数组长度加上该数确定位置
查找位置
- indexOf/lastIndexOf(目标元素,起始位置)前一个正着找,后一个倒着找
迭代方法
- some,一个true就停止
- every,一个false就停止
- map,返回每一个元素经过函数映射得到的新元素
- filter,返回所有符合函数的元素
- foreach,无返回值
es6新加
1、覆盖函数copyWithin()
let num = [1,2,3,4,5,6];
num.copyWithin(3,0,4);
console.log(num);
用数组0到3的一部分,覆盖从3以后的一部分
2、填充函数fill()
varnumbers=[1,2,3]
numbers.fill(1);
fill()第一个参数是要填充的数字,第二个参数是开始填充的位置,第三个参数是结束填充的位置,包括头不包括尾
[1,2,3].fill(4);// [4, 4, 4]
[1,2,3].fill(4,1);// [1, 4, 4]
[1,2,3].fill(4,1,2);// [1, 4, 3]
[1,2,3].fill(4,1,1);// [1, 2, 3]
[1,2,3].fill(4,-3,-2);// [4, 2, 3]
[1,2,3].fill(4,NaN,NaN);// [1, 2, 3]
Array(3).fill(4);// [4, 4, 4]
[].fill.call({
length:3},4);// {0: 4, 1: 4, 2: 4, length: 3}
3、查找函数find()
返回满足条件的第一个数组元素值,只返回一个就结束
参数是一个回调函数
回调函数的参数是(元素,索引,数组对象)
findindex返回下标位置
function isBigEnough(element){
return element>=15;
}
[12,5,8,130,44].find(isBigEnough); // 130
function isPrime(element,index,array){
var start=2;
while(start<=Math.sqrt(element)){
if(element%start++<1){
returnfalse;
}
}
return element>1;
}
console.log([4,6,8,12].find(isPrime)); // undefined, not found
console.log([4,5,8,12].find(isPrime)); // 5
4、包括includes()
1、arr.includes(元素,起始位置),判断是否包括
reduce
1、reduce不改变原数组,
2、reduce是将数组多个值压缩到一个值
let num = [1,2,3,4,5,6];
num.reduce((pre,value,index,arr)=>{
pre+=value;
console.log(pre);
return pre;
})