亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數組里面的狀態切換

數組里面的狀態切換

皈依舞 2018-07-06 13:17:13
數組里面的狀態為true和false,我想把為前三個為true的,就為true,后面的還有true的變為false怎么實現呢?現在我的數組里面有name 和 status let data=[        {name:"小明",status:false},        {name:"小紅",status:false},        {name:"小張",status:true},//一次出現        {name:"小墻",status:false},        {name:"小粉",status:false},        {name:"小軍",status:false},        {name:"小鈺",status:false},        {name:"小訪",status:true},//二次出現        {name:"小源",status:false},        {name:"小方式",status:false},        {name:"小佛",status:true},//三次出現  三次之后  還有true的變為false        {name:"小付款",status:true},        {name:"小哦咯",status:true},        {name:"小來了",status:false},    ]         console.log(data);我想把從第一個開始算,一直到出現過三個true,然后把剩下的都變為false,這個怎么實現呢?
查看完整描述

3 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

        let data = [

            { name: "小明", status: false },

            { name: "小紅", status: false },

            { name: "小張", status: true },//一次出現

            { name: "小墻", status: false },

            { name: "小粉", status: false },

            { name: "小軍", status: false },

            { name: "小鈺", status: false },

            { name: "小訪", status: true },//二次出現

            { name: "小源", status: false },

            { name: "小方式", status: false },

            { name: "小佛", status: true },//三次出現  三次之后  還有true的變為false

            { name: "小付款", status: true },

            { name: "小哦咯", status: true },

            { name: "小來了", status: false },

        ];

        let count = 0;

        data.forEach(obj => {

            if (count >= 3) {

                obj.status = false;

                return;

            }

            if (obj.status) {

                count++;

            }

        })

        console.log(data);


查看完整回答
反對 回復 2018-07-12
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

let total = 0;

let result = data.map(k => {     

   if(k.status) {total++};

   if(total>3 && k.status) {k.status=false}

   return k;

});


查看完整回答
反對 回復 2018-07-12
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

let count = 0;

for(let item of data){

    if(count < 3){

        item.status && ++count

    }else{

        item.status = false;

    }

}


查看完整回答
反對 回復 2018-07-12
  • 3 回答
  • 0 關注
  • 222 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號