数组内元素出现次数统计。

例如

var arr=['p','p','s','m','j','s'];


用函数,求出每个元素出现次数,老师讲的好绕人,听不懂。。。。。

求达人解惑。

SunNeverGiveUp
浏览 1443回答 3
3回答

西兰花伟大炮

var arr=['p','p','s','m','j','s'];         function getArrNum(array){             var result = {};             for(var i = 0;i < array.length;i++){                 if(!result[array[i]]){                     result[array[i]] = 1;                 }else{                     result[array[i]]++;                 }             }             for(item in result){                 console.log(item + ":" + result[item]);             }         }         getArrNum(arr);大概思路就是循环数组,将数组存入对象,如果存在就+1,再遍历输出

千秋此意

/**  * 统计数组中元素出现的次数  * @param  arr   需要统计的数组  * @param  elem  数组中的某个元素(可省略)  * @return 同时传入arr和elem两个参数时返回elem在arr中出现的次数,省略elem时则返回一个包含整个数组中所有元素和其出现次数的对象;  */ function countInArr(arr, elem) {     var result = {};     for (var i = 0; i < arr.length; i++) {         if (result[arr[i]]) {             result[arr[i]] ++;         } else {             result[arr[i]] = 1;         }     }     return elem && result[elem] ? result[elem] : result; }和楼上一样的思路,写都写了还发上来吧=。=
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript