還在為React語法而糾結(jié)嗎?快來看看

??···從2016年開始,阮一峰博客的ES6第二版的發(fā)布,已經(jīng)過去兩個年頭
在這兩年中ES6已經(jīng)應(yīng)用在前端的各個語法當中。

??作為React框架的基本語言便是ES6,所以掌握ES6的基本語法,對程序員而言已經(jīng)迫在眉睫,畢竟影響著各位的飯碗。

下面我們看下ES6的新數(shù)組操作方法:

  1. forEach 是Array新方法中最基本的一個,就是遍歷,循環(huán)。
var arr = ["aa","ddd","sada"]

arr.forEach(function(item,index){
    console.log(item+"--"+index)
})
//(打印結(jié)果) aa--0 ddd--1 sada--2
  1. Map對象就是簡單的鍵值對映射。其中的鍵和值可以使任意值。
var arry2 = [1,2,3,4,5,11,22,345,3321]

var arr2 = arry2.map(item=>{
    return item*2
})
console.log(arr2)
//(打印結(jié)果) [ 2, 4, 6, 8, 10, 22, 44, 690, 6642 ]
  1. filter為“過濾”、“篩選”之意。指數(shù)組filter后,返回過濾后的新數(shù)組。用法跟map極為相似:
var arry2 = [1,2,3,4,5,11,22,345,3321]
var arr3 = arry2.filter(item=>{
    return item%2==0
})
//(打印結(jié)果) [ 2, 4, 22 ]
  1. reduce是JavaScript 1.8中才引入的,中文意思為“減少”、“約簡”。不過,從功能來看,我個人是無法與“減少”這種含義聯(lián)系起來的,反而更接近于“迭代”、“遞歸(recursion)”
var arry2 = [1,2,3,4,5,11,22,345,3321]
var list = arry2.reduce((previous, current, index, array)=>{
       return previous + current;
}) 
//previous 計算結(jié)果的值  默認第返回第一個值  
//current  當前值
// index 下標
// array 整個數(shù)組
1--2
2--3
3--4
.....
最終返回一個結(jié)果(一般用于計算總和,和排除對象中的值

下面做一下練習(xí):

var liy = [
    {"name":"小孔","sore":"60"},
    {"name":"li","sore":"80"},
    {"name":"ll","sore":"160"}
]
var cc = liy.filter(item=>{
  return item.sore>60
})
console.log(cc)   //返回大于60的分數(shù)
// [ { name: 'li', sore: '80' }, { name: 'll', sore: '160' } ]

改變對象里面的數(shù)值

//把小李的年齡改為99  面試經(jīng)常問到
var xiaoming = {
    "name":"小明",
    "age" : 12,
    "friends" :[
        {   
            "id":1,
            "name":"小紅",
            "age":13
        },
        {   
            "id":2,
            "name":"小里",
            "age":14
        },
        {   
            "id":3,
            "name":"小吃",
            "age":19
        }
    ]
}
var ol = {
    ...xiaoming, //展開數(shù)組
    "friends":xiaoming.friends.map(item=>{
        //如果是小里返回
        if(item.name=="小里"){
            return{
                ...item,
                "age":99
            }
        }
    //否則返回
        return item 
    })
}

//篩選>13的返回一個新的對象
var superold = {
    ...xiaoming,
   "friends":xiaoming.friends.filter(item=>{
       return item.age>13
   })
}

//得到新數(shù)組類似于push  往里面添加新的對象
var xiaoming2 = {
    ...xiaoming ,
    "friends":[{
        "name": "張開",
        "age":90
    },...xiaoming.friends]
 }

 //讓張王ID自增加+1
 var xiaoming3= {
    ...xiaoming,
    "friends":[
        ...xiaoming.friends,{
            id:xiaoming.friends.reduce((a,b)=>{
                console.log(a,b,"222")
                return a.id > b.id ? a : b
            }).id+1,
            "name": "張王",
            "age":77
        }
    ]
 }
喜歡的小伙伴動動手指點個贊!~ ???
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容