javascript 數(shù)組操作技巧

1:統(tǒng)計(jì)出數(shù)組中出現(xiàn)最多的值

(1)

var obj ={}
var arry = ['a','b','c','c','c','c','c','c','c','d','d','d','d','e','e','e','e','a','a','a','b']
arry.map(item=>{
    if(!obj[item]){
        obj[item] = 1
}else{
    obj[item] += 1
}
})
console.log(obj);
// {a: 4, b: 2, c: 7, d: 4, e: 4}

(2)

let arr = ['name','age','long','short','long','name','name'] 

let arrResult = arr.reduce((pre,cur) =>{
    console.log(pre,cur)
    if(cur in pre){
        pre[cur]++
    }else{
        pre[cur] = 1
    }
    return pre
},{})

console.log(arrResult)//結(jié)果:{name: 3, age: 1, long: 2, short: 1}


image.png

由于設(shè)置了迭代初始值,pre的第一個(gè)值是一個(gè)空對(duì)象,此時(shí)cur為name,然后進(jìn)行判斷,發(fā)現(xiàn)在pre中沒有name屬性,所以就將name對(duì)應(yīng)的屬性值賦為1;
后面沒有重復(fù)的是一樣的道理,如果碰到重復(fù)值,就會(huì)將該屬性值加1,這樣就能計(jì)算元素重復(fù)的次數(shù)了。

2:刪除數(shù)組中的假值

我們時(shí)常需要在處理數(shù)據(jù)的時(shí)候要去掉假值。在Javascript中,假值是false, 0, " ", null, NaN, undefined。

var plants = ['Saturn', 'Earth', null, undefined, false, "", NaN, 'Uranus', 'Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter'];
var trueArr = plants.filter(Boolean);
console.log(trueArr); // ['Saturn', 'Earth','Uranus', 'Mercury','Venus', 'Earth','Mars', 'Jupiter']

3:數(shù)組如何快速轉(zhuǎn)變成對(duì)象存儲(chǔ)(擴(kuò)展運(yùn)算符)

let arr = ['key','jack','leaf','tree','cup','buddle','fish']
let obj = { ...arr }
console.log('obj',{0: "key", 1: "jack", 2: "leaf", 3: "tree", 4: "cup", 5: "buddle", 6: "fish"});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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