数组值计数javascript
如何根据值计算数组..我有一个具有此值的数组..
var myArr = new Array(3); myArr[0] = "a"; myArr[1] = "a"; myArr[2] = "b";
我需要根据值来计算数组
值A的数组是2数组,值B是1
谢谢!
var myArr = new Array(3); myArr[0] = "a"; myArr[1] = "a"; myArr[2] = "b"; function count(array, value) { var counter = 0; for(var i=0;i
如果您对内置function感兴趣...您可以随时添加自己的function。
Array.prototype.count = function(value) { var counter = 0; for(var i=0;i
然后你可以像这样使用它。
var result = myArr.count("a"); alert(result);
哦,好吧,打败了拳,但这是我的版本。
var myArr = new Array(3); myArr[0] = "a"; myArr[1] = "a"; myArr[2] = "b" getCountFromVal( 'a', myArr ); function getCountFromVal( val, arr ) { var total = arr.length; var matches = 0; for( var i = 0; i < total; i++ ) { if( arr[i] === val ) { matches++; } } console.log(matches); return matches; }
现场演示: http : //jsfiddle.net/CLjyj/1/
var myArr = new Array(3); myArr[0] = "a"; myArr[1] = "a"; myArr[2] = "b"; function getNum(aVal) { num=0; for(i=0;i
我会使用Array.filter
var arr = ['a', 'b', 'b'] arr.filter(val => val === 'b').length // 2
每个人都已经给出了明显的function,所以我将尝试制作另一个解决方案:
var myArr = []; myArr[0] = "a"; myArr[1] = "a"; myArr[2] = "b"; function count(arr, value){ var tempArr = arr.join('').split(''), //Creates a copy instead of a reference matches = 0, foundIndex = tempArr.indexOf(value); //Find the index of the value's first occurence while(foundIndex !== -1){ tempArr.splice(foundIndex, 1); //Remove that value so you can find the next foundIndex = tempArr.indexOf(value); matches++; } return matches; } //Call it this way document.write(count(myArr, 'b'));
演示