Користувацька реалізація Object ({}), яка не враховує for прототипи при встановленні, отриманні або ітерації. Корисно, тому що в 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.
Викликає function for для кожної пари ключ-значення в об'єкті.
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.
Перевіряє for наявність вказаного ключа в 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:indexOf.
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
Перевіряє for наявність вказаного значення в 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
Extends this 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' };
Об'єднує this Hash з парами ключ-значення переданого об'єкта. Не дозволяє дублікати (старі значення не перезаписуються new) і є чутливим до регістру та типу.
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 if ключ ще не існує.
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
Створює new map з результатами виклику наданого function для кожного значення в 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};
Створює new Hash з усіма елементами Hash, for які надане фільтруюче function returns 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, якщо if кожне значення в об'єкті задовольняє надану перевіряльну function.
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, якщо if принаймні одне значення в об'єкті задовольняє надану перевіряльну function.
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!
Повертає масив, що містить всі ключі, в тому ж порядку, що й значення, returned Hash:getValues.
var keys = myHash.getKeys();
Повертає масив, що містить всі значення, в тому ж порядку, що й ключі, returned 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"
Скорочення для for new Hash.
| © Linux.ria.com, 2008-2026 |