JS数组常用方法

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);

在这里插入图片描述

如有错误,还望指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值