您好,如果有人可以为我遇到的以下问题提供解决方案,我将不胜感激:
我需要查找给定变量是否存在于数组中;
var arr = new Array(4, 1, 4, 1, 4)
var number = 4;
var number_two = 1;
有没有办法计算“arr”中存在多少次“var number”以及这个数字在Array中的索引是什么?
谢谢,
您好,如果有人可以为我遇到的以下问题提供解决方案,我将不胜感激:
我需要查找给定变量是否存在于数组中;
var arr = new Array(4, 1, 4, 1, 4)
var number = 4;
var number_two = 1;
有没有办法计算“arr”中存在多少次“var number”以及这个数字在Array中的索引是什么?
谢谢,
它应该可以解决您的问题。
var myArray = [ 10, 10, 20, 20, 30, 30, 40, 40, 40, 40, 50, 50, 50, 50, 60 ] ;
function Counter( myArray ) {
var myBlocks = new Object ;
for( var i = 0; i < myArray.length; i++ ) {
var aBlock = myArray[i] ;
if(myBlocks.hasOwnProperty(aBlock)) {
myBlocks[aBlock]++ ;
} else {
myBlocks[aBlock] = 1 ;
}
}
var str = "";
for(var j in myBlocks ) {
str += "\t Element " + j+ " : apears "+ myBlocks[j] + " time(s)\n" ;
}
alert( str ) ;
}
Counter(myArray);
只是为了解决另一个答案,我会自己回答:
function counter(arr, what) {
var indexes = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] === what)
indexes.push(i);
}
alert(indexes.length); // how many
alert(indexes); // indexes
}
counter([4, 1, 4, 1, 4], 4);
对于计数器,请使用以下解决方案。为了将结果转换为索引,您可以阅读有关 JavaScript 数组的更多信息(例如)。
function counter(arr, what) {
var how_many = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] == what) how_many++;
}
return how_many;
}
console.log(counter([4, 1, 4, 1, 4], 4));