Es6新特性之Array,String新方法

新增Array对象方法

Array

  • map
    map方法将原数组映射为一个新的数组,返回结果为一个新的数组
    如下示例
    将原数组与映射成布尔数组
let arr = [45,60,78,42.56,80];
let res = arr.map(function(item,index){
	return item>60;
})
console.log(arr,res);

在这里插入图片描述
还可以获取某一数组对象特定属性值

 let obj = [
   {name:'test',age:13,sex:'m'},
   {name:'test2',age:13,sex:'w'},
   {name:'test3',age:18,sex:'w'},

];
let res = obj.map(function(item){
	return item.age;
})
console.log(obj,res);

在这里插入图片描述

  • forEach 有了这个就不用写for了
    执行数组的遍历
 
let obj = [0,1,2,3];
 obj.forEach(function(item,index){
	console.log(item)
})
  • filter
    遍历并过滤数组
    返回会数组中满足条件的元素
let obj = [
    {name:'a',score:67},
    {name:'b',score:56},
    {name:'c',score:34},
    {name:'d',score:90},
    {name:'e',score:67},
]
 let res = obj.filter(function(item,index){
	if(item.score>60){
	  return item
	}
})
console.log(res);

去除数组中的空 undifind

var arr = ['1','2',undefined, '3','']
var newArr = arr.filter(function(item,index){
	return item
})
console.log(newArr)

在这里插入图片描述

  • reduce
    reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce() 方法接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce() 的数组。
    一个简单实例,数组求和
 let arr = [1,2,3,4,5,6];
let res = arr.reduce(function(tem,item,index){
	return tem+item;

})
console.log(res);//21

tmp参数就是每次求和的值如第一次=1+2这时候tmp变成了3然后又执行3+3此时tmp变成了6依此类推直到求出总和。
示例二,将二数组转化为一维数组

let arr=[[1,2],[3,4],[5,6]];
let res = arr.reduce(function(tmp,item,index){
	return tmp.concat(item);

})
console.log(res)
  • every
    遍历数组,查找数组中所以满足条件 返回true,只要一个不满足条件返回false
let ojb = [
  {name:'a',score:60},
  {name:'b',score:45},
  {name:'c',score:67}
]
let res = ojb.every(function(item){
	return item.score>60

})
console.log(res)//false

some
遍历数组,与every相反该方法只要数组中有一个满足条件返回ture

let ojb = [
  {name:'a',score:60},
  {name:'b',score:45},
  {name:'c',score:67}
]
let res = ojb.every(function(item){
	return item.score>60

})
console.log(res)//true

find
find与上面两个方法类似,但find返回的是满足条件的具体的值,只返回一个满足条件的元素

let ojb = [
  {name:'a',score:60},
  {name:'b',score:45},
  {name:'c',score:67}
]
let res = ojb.find(function(item){
	return item.score>=60

})
console.log(res)//{name:'a',score:60},

新增String方法

includes(str,start):返回布尔值,查找字符串中是否包含str返回布尔值,start可选表示从字符串哪个位置开始查找

let res = "hello".includes('l');
console.log(res)//true

startsWith(str,start):查找str是否在字符串开头


let res = "hello".startsWith('e');
console.log(res)//false

endsWith(str,start):查找str是否在str结尾

let res = "hello word".endsWith('word');
console.log(res)//true

repeat(int)
接收整数参数表示将字符串重复几次

let res = "helloword".repeat(2)
console.log(res)//hellowordhelloword
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值