Javascript.RU

PHP-функция: array_count_values

Javascript:

function array_count_values( array ) {	// Counts all the values of an array
	// 
	// +   original by: Ates Goral (http://magnetiq.com)
	// + namespaced by: Michael White (http://crestidg.com)

	var tmp_ar = new Object(), key;

	var countValue = function (value) {
		switch (typeof(value)) {
		case "number":
			if (Math.floor(value) != value) {
				return;
			}
		case "string":
			if (value in this) {
				++this[value];
			} else {
				this[value] = 1;
			}
		}
	}

	if (array instanceof Array) {
		array.forEach(countValue, tmp_ar);
	} else if (array instanceof Object) {
		for (var key in array) {
			countValue.call(tmp_ar, array[key]);
		}
	}

	return tmp_ar;

}

Примеры:

array_count_values([ 3, 5, 3, "foo", "bar", "foo" ]);
{3:2, 5:1, "foo":2, "bar":1}

array_count_values({ p1: 3, p2: 5, p3: 3, p4: "foo", p5: "bar", p6: "foo" });
{3:2, 5:1, "foo":2, "bar":1}

array_count_values([ true, 4.2, 42, "fubar" ]);
{42:1, "fubar":1}


Автор: Гость (не зарегистрирован), дата: 18 октября, 2012 - 17:07
#permalink

var myCurrentArray = new Array("apple","banana","apple","orange","banana","apple");

var counts = {};

for(var i=0;i< myCurrentArray.length;i++)
{
var key = myCurrentArray[i];
counts[key] = (counts[key])? counts[key] + 1 : 1 ;

}

alert(counts['apple']);
alert(counts['banana']);


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
5 + 6 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Реклама
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum