es6-数组拓展

数组:
属性:constructor,length,prototype
方法:push,pop,shift,unshift(新增),splice,slice,reverse,sort,concat,filter,map,some,every
1、filter:过滤出符合条件的值,返回新数组
var spread = [12, 5, 8, 130, 44]
// 筛选条件符合大于10的新数组
var filtered = spread.filter(n => n >= 10)
console.log(‘filtered’, filtered) // => [12, 130, 44]

	var users = [
	  { 'user': 'barney', 'age': 36, 'active': true },
	  { 'user': 'fred',   'age': 40, 'active': false },
	  { 'user': 'ared',   'age': 24, 'active': false },
	  { 'user': 'ered',   'age': 80, 'active': false },
	  { 'abc': 'ered',   'age': 80, 'active': false }
	]
	// 筛选 age等于40或者age等于24的 数组对象
	var filtered = users.filter(n => n.age===40 || n.age===24)
	console.log('filter后的键名', filtered)   // => [{user: "fred", age: 40, active: false},{user: "ared", age: 24, active: false}]    
2、map 一一对应 对数组元素进行处理,返回处理后的新数组
3、some:是否有元素符合条件,返回true或false
	//数组中的元素部分满足指定条件返回true
	//运行结果为false
	var checknum = [15,3,2,6,7,1,9,10];
	var checkresult = checknum.some(function(item,index,array){
	     return item > 15;
	});
	alert(checkresult);
4、every:检测每个元素是否都符合条件   
	//数组中的元素全部满足指定条件返回true
	//运行结果为false
	var checknum = [15,3,2,6,7,1,9,10];
	var checkresult = checknum.every(function(item,index,array){
	      return item > 1 ;    
	});
	alert(checkresult);
	
es6:1、find
	作用:find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。
   	参数:
	  查找函数有三个参数。
	  value:每一次迭代查找的数组元素。
	  index:每一次迭代查找的数组元素索引。
	  arr:被查找的数组
		const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
		var ret1 = arr1.find((value, index, arr1) => {
		 	return value > 4
		})
		var ret2 = arr1.find((value, index, arr1) => {
		 	return value > 14
		})
		console.log('%s', ret1)//5
		console.log('%s', ret2)//undefined
	2、findIndex()同上
	  作用:findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。
	  同样是接收三个参数,同上	
	3、of:方法用于将一组值,转换为数组。	
	 {
	  let arr = Array.of(3,4,7,9,11);
	  console.log('arr=',arr);
	  let empty=Array.of();
	  console.log('empty',empty);
	 }
	4、from:方法用于将两类对象转为真正的数组,针对伪数组
	  {
		  let p=document.querySelectorAll('p');
		  console.log(p.length,p[0])
		  let pArr=Array.from(p);
		  console.log(pArr.length,pArr[0])
		  //鸭子理论,它像鸭子一样行走
		  var newEle = document.createElement("p");//新建一个p元素 
		  //p.push(newEle);//报错
		  pArr.push(newEle);//正常运行
		}
	5、fill:fill方法使用给定值,填充一个数组。
		{
		  console.log('fill-7',[1,'a',undefined].fill(7));
		  console.log('fill,pos',['a','b','c'].fill(7,1,3));//1-3之间填充7
		}
	6、entries(),keys()和values() 遍历数组
		{
		  for(let index of ['1','c','ks'].keys()){
		    console.log('keys',index);
		  }
		  for(let value of ['1','c','ks'].values()){
		    console.log('values',value);
		  }
		  for(let [index,value] of ['1','c','ks'].entries()){
		    console.log('values',index,value);
		  }
		}
	7、includes方法返回一个布尔值,表示某个数组是否包含给定的值
		{
		  console.log('number',[1,2,NaN].includes(1));
		  console.log('number',[1,2,NaN].includes(NaN));
		}
	8、copyWithin: 在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。
		{
		  console.log([1,2,3,4,5].copyWithin(0,3,4));//将3,4之间的值复制到0位置
		}
	9、扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。
		console.log(...[1, 2, 3])
		// 1 2 3
		console.log(1, ...[2, 3, 4], 5)
		var obj = {
				name:"张三",
				sex:"sex"
			}
			var newObj = {
				...obj,
				num:1
		}
		console.log(newObj)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值