猿问
数组内元素出现次数统计。
例如
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,再遍历输出
1
0
2
千秋此意
/** * 统计数组中元素出现的次数 * @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; }和楼上一样的思路,写都写了还发上来吧=。=
1
0
1
随时随地看视频
慕课网APP
相关分类
JavaScript
我要回答