js cs"> js-keyword">var arr=[js-number">1,js-number">3,js-number">4,js-number">3,js-number">6,js-number">8,js-number">3,js-number">9];
js-keyword">var item=js-number">3;
js-keyword">var count=js-number">0;
思路一:
js applescript"> js-keyword">for(var i=js-number">0;i<arr.js-property">length;i++){
js-keyword">if(arr[i]==js-property">item){
js-command">count++;
}
}
console.js-command">log(js-command">count);
或者
js matlab"> var fn=js-function">js-keyword">function js-params">() {
js-keyword">for(var js-built_in">i=js-number">0;js-built_in">i<js-transposed_variable">arr.js-built_in">length;js-built_in">i++)js-cell">{
if(arr[i]==item){
count++;
}
}
js-keyword">return count;
};
js-transposed_variable">console.js-built_in">log(fn());
思路二:
js php"> arr.js-keyword">forEach(js-function">js-keyword">functionjs-params">(a){
js-comment">// if(a==item){
js-comment">// count++;
js-comment">// }
a==item?count++:js-number">0;
});
console.log(count);
forEach方法:用于调用数组的每个元素,并将元素传递给回调函数。返回值undefined。
注意: forEach() 对于空数组是不会执行回调函数的。
思路三:
js applescript"> arr.map(function(a){
a==js-property">item?js-command">count++:js-number">0;
});
console.js-command">log(js-command">count);
map方法:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
原文参考:统计数组arr中的值等于item的元素出现的次数