Користувацька реалізація Object ({}), яка не враховує прототипи при встановленні, отриманні або ітерації. Корисно, тому що в JavaScript ми не можемо використовувати Object.prototype. Замість цього ми можемо використовувати Hash.prototype!
var myHash = new Hash([object]);
var myHash = new Hash({ aProperty: true, aMethod: function(){ return true; } }); alert(myHash.has('aMethod')); //Returns true.
Викликає функцію для кожної пари ключ-значення в об'єкті.
myHash.each(fn[, bind]);
fn(value, key, 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.
var inHash = myHash.has(item);
var hash = new Hash({'a': 'one', 'b': 'two', 'c': 'three'}); hash.has('a'); //returns true hash.has('d'); //returns false
Повертає ключ зазначеного значення. Синонім Array:keyOf.
var key = myHash.keyOf(item);
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.
var inHash = myHash.hasValue(value);
var hash = new Hash({'a': 'one', 'b': 'two', 'c': 'three'}); hash.hasValue('one'); //returns true hash.hasValue('four'); //returns false
Розширює цей Hash парами ключ-значення з переданого об'єкта.
myHash.extend(properties);
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 з парами ключ-значення переданого об'єкта. Не дозволяє дублікати (старі значення не перезаписуються новими) і є чутливим до регістру та типу.
myHash.combine(properties);
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.
myHash.erase(key);
var hash = new Hash({ 'name': 'John', 'lastName': 'Doe' }); hash.erase('lastName'); //hash now holds an object containing: { 'name': 'John' };
Отримує значення з хешу.
myHash.get(key);
var hash = new Hash({ 'name': 'John', 'lastName': 'Doe' }); hash.get('name'); //returns 'John'
Додає пару ключ-значення до хешу або замінює попереднє значення, асоційоване із зазначеним ключем.
myHash.set(key, value);
var hash = new Hash({ 'name': 'John', 'lastName': 'Doe' }); hash.set('name', 'Michelle'); //hash.name is now 'Michelle'
Очищує хеш.
myHash.empty();
var hash = new Hash({ 'name': 'John', 'lastName': 'Doe' }); hash.empty(); //hash now holds an empty object: {}
Включає зазначену пару ключ-значення в Hash, якщо ключ ще не існує.
myHash.include(key, value);
var hash = new Hash({ 'name': 'John', 'lastName': 'Doe' }); hash.include('name', 'Michelle'); //hash is unchanged hash.include('age', 25); //hash.age is now 25
Створює новий map з результатами виклику наданої функції для кожного значення в map.
var mappedHash = myHash.map(fn[, bind]);
fn(value, key, 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 зі всіма елементами Hash, для яких надана фільтруюча функція повертає true.
var filteredHash = myHash.filter(fn[, bind]);
fn(value, key, 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}
Повертає true, якщо кожне значення в об'єкті задовольняє надану тестувальну функцію.
var allPassed = myHash.every(fn[, bind]);
fn(value, key, hash)
var areAllBigEnough = ({a: 10, b: 4, c: 25, d: 100}).every(function(value, key){ return value > 20; }); //areAllBigEnough = false
Повертає true, якщо принаймні одне значення в об'єкті задовольняє надану тестувальну функцію.
var anyPassed = myHash.any(fn[, bind]);
fn(value, key, hash)
var areAnyBigEnough = ({a: 10, b: 4, c: 25, d: 100}).some(function(value, key){ return value > 20; }); //isAnyBigEnough = true
Повертає чистий об'єкт з Hash.
myHash.getClean();
var hash = new Hash({ 'name': 'John', 'lastName': 'Doe' }); hash = hash.getClean(); // hash doesnt contain Hash prototypes anymore hash.each() //error!
Повертає масив, що містить всі ключі, в тому ж порядку, що й значення, повернені Hash:getValues.
var keys = myHash.getKeys();
Повертає масив, що містить всі значення, в тому ж порядку, що й ключі, повернені Hash:getKeys.
var values = myHash.getValues();
Повертає кількість ключів у Hash.
var length = myHash.getLength();
var hash = new Hash({ 'name': 'John', 'lastName': 'Doe' }); hash.getLength(); // returns 2
Генерує рядок запиту з пар ключ/значення в об'єкті та URI-кодує значення.
var queryString = myHash.toQueryString();
Hash.toQueryString({apple: "red", lemon: "yellow"}); //returns "apple=red&lemon=yellow"
var myHash = new Hash({apple: "red", lemon: "yellow"}); myHash.toQueryString(); //returns "apple=red&lemon=yellow"
Скорочення для new Hash.
| © Linux.ria.com, 2008-2026 |