Type: Hash

Користувацька реалізація Object ({}), яка не враховує for прототипи при встановленні, отриманні або ітерації. Корисно, тому що в JavaScript ми не можемо використовувати Object.prototype. Натомість ми можемо використовувати Hash.prototype!

Примітка:

  • Коли це можливо, будь ласка, використовуйте тип Object!

Hash Method: constructor

Синтаксис:

var myHash = new Hash([object]);

Аргументи:

  1. object - (mixed) Хеш або об'єкт для реалізації.

Повертає:

  • (hash) Екземпляр new Hash.

Приклад:

var myHash = new Hash({
    aProperty: true,
    aMethod: function(){
        return true;
    }
});
alert(myHash.has('aMethod')); //Returns true.

Hash Method: each

Викликає function for для кожної пари ключ-значення в об'єкті.

Синтаксис:

myHash.each(fn[, bind]);

Аргументи:

  1. fn - (function) function, який слід виконати для кожного елемента в Hash. Цей function отримує елемент та його ключ в Hash.
  2. bind - (object, опціонально) Об'єкт для використання як 'this' в function. Для отримання додаткової forформації див. Function:bind.

Аргумент: fn

Синтаксис:
fn(value, key, hash)
Аргументи:
  1. value - (mixed) Поточне значення в хеші.
  2. key - (string) Ключ поточного значення в хеші.
  3. hash - (hash) Сам хеш.

Приклад:

var hash = new Hash({first: "Sunday", second: "Monday", third: "Tuesday"});
hash.each(function(value, key){
    alert("the " + key + " day of the week is " + value);
}); //Alerts "the first day of the week is Sunday", "the second day of the week is Monday", etc.

Hash Method: has

Перевіряє for наявність вказаного ключа в Hash.

Синтаксис:

var inHash = myHash.has(item);

Аргументи:

  1. key - (string) Ключ для пошуку for в Hash.

Повертає:

  • (boolean) Якщо Hash має визначене значення for вказаного ключа, returns true. Інакше, returns false.

Приклад:

var hash = new Hash({'a': 'one', 'b': 'two', 'c': 'three'});
hash.has('a'); //returns true
hash.has('d'); //returns false

Примітка:

  • Перевірка for прототипу Hash ніколи не return true. Перевіряються лише фактичні властивості Hash, які return true.

Hash Method: keyOf

Повертає ключ вказаного значення. Синонім Array:indexOf.

Синтаксис:

var key = myHash.keyOf(item);

Аргументи:

  1. item - (mixed) Елемент для пошуку for в Hash.

Повертає:

  • (string) Якщо Hash має вказаний елемент, returns ключ цього елемента.
  • (boolean) Інакше, returns false.

Приклад:

var hash = new Hash({'a': 'one', 'b': 'two', 'c': 3});
hash.keyOf('two'); //returns 'b'
hash.keyOf(3); //returns 'c'
hash.keyOf('four') //returns false

Примітка:

  • Перевірка for прототипу Hash ніколи не return його ключ. Лише фактичні властивості Hash return свої асоційовані ключі.

Hash Method: hasValue

Перевіряє for наявність вказаного значення в Hash.

Синтаксис:

var inHash = myHash.hasValue(value);

Аргументи:

  1. value - (mixed) Значення для пошуку for в Hash.

Повертає:

  • (boolean) Якщо Hash має передане значення в будь-якому з ключів, returns true. Інакше, returns false.

Приклад:

var hash = new Hash({'a': 'one', 'b': 'two', 'c': 'three'});
hash.hasValue('one'); //returns true
hash.hasValue('four'); //returns false

Hash Method: extend

Extends this Hash парами ключ-значення з переданого об'єкта.

Синтаксис:

myHash.extend(properties);

Аргументи:

  1. properties - (object) Об'єкт, чиї елементи слід розширити в this Hash

Повертає:

  • (hash) Цей Hash, розширений.

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
var properties = {
    'age': '20',
    'sex': 'male',
    'lastName': 'Dorian'
};
hash.extend(properties);
//hash now holds an object containing: { 'name': 'John', 'lastName': 'Dorian', 'age': '20', 'sex': 'male' };

Hash Method: combine

Об'єднує this Hash з парами ключ-значення переданого об'єкта. Не дозволяє дублікати (старі значення не перезаписуються new) і є чутливим до регістру та типу.

Синтаксис:

myHash.combine(properties);

Аргументи:

  1. properties - (object) Об'єкт, чиї елементи слід об'єднати в this Hash.

Повертає:

  • (hash) Цей Hash, об'єднаний з new парами ключ-значення.

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
var properties = {
    'name': 'Jane'
    'age': '20',
    'sex': 'male',
    'lastName': 'Dorian'
};
hash.combine(properties);
//hash now holds an object containing: { 'name': 'John', 'lastName': 'Doe', 'age': '20', 'sex': 'male' };

Hash Method: erase

Видаляє вказаний ключ з Hash.

Синтаксис:

myHash.erase(key);

Аргументи:

  1. key - (string) Ключ для пошуку for в Hash.

Повертає:

  • (hash) Цей Hash з видаленим вказаним ключем та його значенням.

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
hash.erase('lastName');
//hash now holds an object containing: { 'name': 'John' };

Hash Method: get

Отримує значення з хешу.

Синтаксис:

myHash.get(key);

Аргументи:

  1. key - (string) Ключ для отримання в Hash.

Повертає:

  • (mixed) Повертає значення, яке відповідає ключу if знайденому.
  • (null) null if ключ не існує.

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
hash.get('name'); //returns 'John'

Hash Method: set

Додає пару ключ-значення до хешу або замінює попереднє значення, асоційоване з вказаним ключем.

Синтаксис:

myHash.set(key, value);

Аргументи:

  1. key - (string) Ключ для вставки або зміни в Hash.
  2. value - (mixed) Значення для асоціації з вказаним ключем в Hash.

Повертає:

  • (hash) Цей Hash з вказаним ключем, встановленим на вказане значення.

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
hash.set('name', 'Michelle'); //hash.name is now 'Michelle'

Hash Method: empty

Очищує хеш.

Синтаксис:

myHash.empty();

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
hash.empty();
//hash now holds an empty object: {}

Hash Method: include

Включає вказану пару ключ-значення в Hash if ключ ще не існує.

Синтаксис:

myHash.include(key, value);

Аргументи:

  1. key - (string) Ключ для вставки в Hash.
  2. value - (mixed) Значення для асоціації з вказаним ключем в Hash.

Повертає:

  • (hash) Цей Hash з включеним вказаним ключем if він раніше не існував.

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
hash.include('name', 'Michelle'); //hash is unchanged
hash.include('age', 25); //hash.age is now 25

Hash Method: map

Створює new map з результатами виклику наданого function для кожного значення в map.

Синтаксис:

var mappedHash = myHash.map(fn[, bind]);

Аргументи:

  1. fn - (function) function для створення елемента new Hash з елемента поточного.
  2. bind - (object, опціонально) Об'єкт для використання як 'this' в function. Для отримання додаткової forформації див. Function:bind.

Аргумент: fn

Синтаксис:
fn(value, key, hash)
Аргументи:
  1. value - (mixed) Поточне значення в хеші.
  2. key - (string) Ключ поточного значення в хеші.
  3. hash - (hash) Сам хеш.

Повертає:

  • (hash) new відображений хеш.

Приклад:

var timesTwo = new Hash({a: 1, b: 2, c: 3}).map(function(value, key){
    return value * 2;
}); //timesTwo now holds an object containing: {a: 2, b: 4, c: 6};

Hash Method: filter

Створює new Hash з усіма елементами Hash, for які надане фільтруюче function returns true.

Синтаксис:

var filteredHash = myHash.filter(fn[, bind]);

Аргументи:

  1. fn - (function) function для перевірки кожного елемента Hash. Цей function отримує значення та його ключ в Hash.
  2. bind - (object, опціонально) Об'єкт для використання як 'this' в function. Для отримання додаткової forформації див. Function:bind.

Аргумент: fn

Синтаксис:
fn(value, key, hash)
Аргументи:
  1. value - (mixed) Поточне значення в хеші.
  2. key - (string) Ключ поточного значення в хеші.
  3. hash - (hash) Сам хеш.

Повертає:

  • (hash) new відфільтрований хеш.

Приклад:

var biggerThanTwenty = new Hash({a: 10, b: 20, c: 30}).filter(function(value, key){
    return value > 20;
}); //biggerThanTwenty now holds an object containing: {c: 30}

Hash Method: every

Повертає true, якщо if кожне значення в об'єкті задовольняє надану перевіряльну function.

Синтаксис:

var allPassed = myHash.every(fn[, bind]);

Аргументи:

  1. fn - (function) function для перевірки кожного елемента Hash. Цей function отримує значення та його ключ в Hash.
  2. bind - (object, опціонально) Об'єкт для використання як 'this' в function. Для отримання додаткової forформації див. [Function:bind].

Аргумент: fn

Синтаксис:
fn(value, key, hash)
Аргументи:
  1. value - (mixed) Поточне значення в хеші.
  2. key - (string) Ключ поточного значення в хеші.
  3. hash - (hash) Сам хеш.

Повертає:

  • (boolean) Якщо кожне значення в Hash задовольняє надану перевіряльну function, returns true. Інакше, returns false.

Приклад:

var areAllBigEnough = ({a: 10, b: 4, c: 25, d: 100}).every(function(value, key){
    return value > 20;
}); //areAllBigEnough = false

Hash Method: some

Повертає true, якщо if принаймні одне значення в об'єкті задовольняє надану перевіряльну function.

Синтаксис:

var anyPassed = myHash.any(fn[, bind]);

Аргументи:

  1. fn - (function) function для перевірки кожного елемента Hash. Цей function отримує значення та його ключ в Hash.
  2. bind - (object, опціонально) Об'єкт для використання як 'this' в function. Для отримання додаткової forформації див. Function:bind.

Аргумент: fn

Синтаксис:
fn(value, key, hash)
Аргументи:
  1. value - (mixed) Поточне значення в хеші.
  2. key - (string) Ключ поточного значення в хеші.
  3. hash - (hash) Сам хеш.

Повертає:

  • (boolean) Якщо будь-яке значення в Hash задовольняє надану перевіряльну function, returns true. Інакше, returns false.

Приклад:

var areAnyBigEnough = ({a: 10, b: 4, c: 25, d: 100}).some(function(value, key){
    return value > 20;
}); //isAnyBigEnough = true

Hash Method: getClean

Повертає чистий об'єкт з Hash.

Синтаксис:

myHash.getClean();

Повертає:

  • (object) чистий об'єкт

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
hash = hash.getClean(); // hash doesnt contain Hash prototypes anymore
hash.each() //error!

Hash Method: getKeys

Повертає масив, що містить всі ключі, в тому ж порядку, що й значення, returned Hash:getValues.

Синтаксис:

var keys = myHash.getKeys();

Повертає:

  • (array) Масив, що містить всі ключі хешу.

Hash Method: getValues

Повертає масив, що містить всі значення, в тому ж порядку, що й ключі, returned Hash:getKeys.

Синтаксис:

var values = myHash.getValues();

Повертає:

  • (array) Масив, що містить всі значення хешу.

Hash Method: getLength

Повертає кількість ключів у Hash.

Синтаксис:

var length = myHash.getLength();

Повертає:

  • (number) Довжина Hash.

Приклад:

var hash = new Hash({
    'name': 'John',
    'lastName': 'Doe'
});
hash.getLength(); // returns 2

Hash Method: toQueryString

Генерує рядок запиту з пар ключ/значення в об'єкті та URI-кодує значення.

Синтаксис:

var queryString = myHash.toQueryString();

Аргументи:

  1. source - (object) Об'єкт для генерації рядка запиту.

Повертає:

  • (string) Рядок запиту.

Приклад:

Використання Hash generic:

Hash.toQueryString({apple: "red", lemon: "yellow"}); //returns "apple=red&lemon=yellow"

Використання екземпляра Hash:

var myHash = new Hash({apple: "red", lemon: "yellow"});
myHash.toQueryString(); //returns "apple=red&lemon=yellow"

Утиліти Functions

Function: $H

Скорочення для for new Hash.

Див. також:


Эта документация распостраняется на правах Attribution-NonCommercial-ShareAlike 3.0 License.
Оригинал документации на английском.
© Linux.ria.com, 2008-2026