join
join不改变原数组,仅仅只是返回一个新数组,当然它最长还是用来数组转换为字符串
var arr1=[1,2,3];
console.log(typeof arr1.join('-'));
console.log(arr1.join('*'));
console.log(arr1);//原数组并不发生改变
push和pop
push和pop分别对应尾插和尾删
同时它们改变原数组,pop返回的是删除的元素的值
var arr2=['red','green','blue'];
//push()和pop(),改变原数组
arr2.push('yellow');
console.log(arr2);
console.log(arr2.pop('yellow'));
console.log(arr2.pop());//默认删除最后一个
console.log(arr2);
unshift和shift
听名字就是一对冤家,unshift是头部插入,shift删除。同时shift返回的是删除的值
var arr3=['a','b','c'];
//unshift()和shift()
arr3.unshift('d');
console.log(arr3);
console.log(arr3.shift());
console.log(arr3);
sort
sort方法默认是从小到大排序,但是有些坑点。最好还是选用自定义方法来写
var arr5=[13,15,3,10];
function compare(num1,num2)
{
return num1-num2;
}
console.log(arr5.sort());
console.log(arr5.sort(compare));
splice
splice分为三个参数,分为是要操作的索引,要删除的数目,如果为0就不删除,接着是可选的向数组添加的新数
//splice()
var arr6=[1,2,3,4,5,6,7];
arr6.splice(4,1);
console.log(arr6);
//删除的数目为0就不删除,如果有添加新数就添加
arr6.splice(4,0,5)
console.log(arr6);
//删除的数目为1并且后面有新数就为修改
arr6.splice(4,1,8);
console.log(arr6);
foreach
foreach是遍历所给的数组,其中有一个参数为回调函数,它的参数分别是对应的内容,索引,以及要遍历的数组
var arr7=[1,2,3,4,5];
//foreach()
arr7.forEach((item,index,arr7)=>{
console.log(index+'-'+item);
});
map
map同样也是遍历所给数组,它和foreach最大的不同就在于map会返回所操作后的新数组.
//map()
var arr7=[1,2,3,4,5];
var newList=arr7.map((item)=>{
return item*item;
});
console.log(newList);
some和every
some同为遍历所给数组,但是它会判断是否满足所给情况,如果满足一次,那么相当于内循环中break,直接跳出不再判断其他元素。
var arr10=[1,2,3,4,5];
var flag=arr10.some((res,index)=>{
console.log(index);
return res<=5;
});
console.log(flag?'find!':'NotFind!');
只打印了一个下标,说明some判断第一个元素就满足情况,直接跳出循环
而every同some相反,它需要所遍历的数组元素全部满足条件才会返回true
var arr10=[1,2,3,4,5];
var flag2=arr10.every((res,index)=>{
console.log(index);
return res<=5;
});
console.log(flag2?'all lower to 5!':'no!');
说明every要遍历完全部数据,判断都满足情况再返回true
includes
includes就是查找给定的元素是否存在于数组中,它有两个参数,一个是要查找的值,一个是从哪里开始查找
//includes()
var arr9=[5,4,3,2,1];
console.log(arr9.includes(5));
console.log(arr9.includes(5,1));
第一句不写下标,那么默认从头查找5这个元素是否存在于arr9数组中
第二句从下标为1的索引开始找5,而5在下标为0的位置,所以找不到
find和findIndex()
顾名思义,find找的是元素值,而findIndex找的是元素的下标
//find()和findIndex()
var arr9=[5,4,3,2,1];
var value=arr9.find(item=>item>3);
console.log('value'+value);
var index=arr9.findIndex(item=>item>3);
console.log('index='+index);
如有错误,还望指正