数组ES6-- map/forEach/filter/every

2018-12-28  本文已影响0人  墨芊baby
num: [10,20,30]
foo(){
let arr2 = []
        this.num.forEach((item,index)=>{
          item = item * 10
          arr2.push(item)  //不支持return值,需要往新数组里push每一项
        })
    return arr2;
}

console.log(this.foo())  //[100,200,300]
num: [10,20,30],
arr: []
foo(){
this.arr = this.num.map((item,index)=>{
          return item * 10
 })
return this.arr
}
console.log(this.foo()) [100,200,300] //产生一个操作后的新数组

//第二个实例:取出所有email
res:[],
arr: [
    {name: "aaa", "email": "zhang@email.com"},
    {name: "bbb", "email": "jiang@email.com"},
    {name: "ccc", "email": "li@email.com"}
]
this.
foo(){
    this.res = this.arr.map((item)=>{
          return item.email
        })
    return (this.res).join(',') //把数组中的所有元素放入一个字符串,按指定的分隔符,返回值是字符串, 默认是逗号
}
let arr = [1,2,3,4,5];
let newArray = arr.filter((item,index)=> {
    return item > 3;
});
console.log(newArray) // [4,5]
let arr = [1,2,3,4,5];
let newArray = arr.every((item,index)=> {
    return item > 3;
});
console.log(newArray) // false
let arr = [1,2,3,4,5];
let newArray = arr.some((item,index)=> {
    return item > 3;
});
console.log(newArray) // true

重点总结:
forEach()无返回值,map()和filter()返回新数组,every()和some()返回布尔值
push、 shift、 pop、 unshift、 reverse、 sort、 splice方法会对原来的数组进行修改,其他的数组操作方法只有返回值不同,对原数组都没有影响,即原数组不变。

上一篇 下一篇

猜你喜欢

热点阅读