Native: Hash

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

Hash Method: constructor

Синтаксис:

var myHash = new Hash([object]);

Аргументи:

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

Повертає:

  • (hash) Новий екземпляр Hash.

Приклади:

var myHash = new Hash({
    aProperty: true,
    aMethod: function(){

        return true;
    }
});
alert(myHash.has('aMethod')); //Returns true.

Hash Method: each

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

Синтаксис:

myHash.each(fn[, bind]);

Аргументи:

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

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

Синтаксис:

var inHash = myHash.has(item);

Аргументи:

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

Повертає:

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

Приклади:

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

hash.has('d'); //returns false

Примітки:

  • Перевірка прототипу Hash ніколи не поверне true. Повертає true лише перевірка фактичних властивостей Hash.

Hash Method: keyOf

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

Синтаксис:

var key = myHash.keyOf(item);

Аргументи:

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

Повертає:

  • (string) Якщо Hash містить зазначений елемент, повертає ключ цього елемента.
  • (boolean) Інакше повертає 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

Примітки:

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

Hash Method: hasValue

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

Синтаксис:

var inHash = myHash.hasValue(value);

Аргументи:

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

Повертає:

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

Приклади:

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

hash.hasValue('four'); //returns false

Hash Method: extend

Розширює цей Hash парами ключ-значення з переданого об'єкта.

Синтаксис:

myHash.extend(properties);

Аргументи:

  1. properties - (object) Об'єкт, елементи якого слід розширити в цей 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

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

Синтаксис:

myHash.combine(properties);

Аргументи:

  1. properties - (object) Об'єкт, елементи якого слід об'єднати в цей Hash.

Повертає:

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

Приклади:

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) Ключ для пошуку в 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) Повертає значення, яке відповідає ключу, якщо знайдено.
  • (null) null, якщо ключ не існує.

Приклади:

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, якщо ключ ще не існує.

Синтаксис:

myHash.include(key, value);

Аргументи:

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

Повертає:

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

Приклади:

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

Створює новий map з результатами виклику наданої функції для кожного значення в map.

Синтаксис:

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

Аргументи:

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

Аргумент: fn

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

Повертає:

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

Приклади:

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

Створює новий Hash зі всіма елементами Hash, для яких надана фільтруюча функція повертає true.

Синтаксис:

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

Аргументи:

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

Аргумент: fn

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

Повертає:

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

Приклади:

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, якщо кожне значення в об'єкті задовольняє надану тестувальну функцію.

Синтаксис:

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

Аргументи:

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

Аргумент: fn

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

Повертає:

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

Приклади:

var areAllBigEnough = ({a: 10, b: 4, c: 25, d: 100}).every(function(value, key){

    return value > 20;
}); //areAllBigEnough = false

Hash Method: some

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

Синтаксис:

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

Аргументи:

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

Аргумент: fn

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

Повертає:

  • (boolean) Якщо будь-яке значення в Hash задовольняє надану тестувальну функцію, повертає true. Інакше повертає 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

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

Синтаксис:

var keys = myHash.getKeys();

Повертає:

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

Hash Method: getValues

Повертає масив, що містить всі значення, в тому ж порядку, що й ключі, повернені 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"

Utility Functions

Function: Hash

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

Див. також:


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