例如var arr=['p','p','s','m','j','s'];用函数,求出每个元素出现次数,老师讲的好绕人,听不懂。。。。。求达人解惑。
3 回答
已采纳
西兰花伟大炮
TA贡献376条经验 获得超318个赞
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,再遍历输出
千秋此意
TA贡献158条经验 获得超188个赞
/**
* 统计数组中元素出现的次数
* @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;
}和楼上一样的思路,写都写了还发上来吧=。=
添加回答
举报
0/150
提交
取消
