Как инвертировать значение ключа в объекте JavaScript?
JavaScript - это высокоуровневый интерпретируемый и динамически типизированный язык сценариев на стороне клиента. JavaScript используется для добавления динамических функций в статический HTML. В JavaScript все является объектом. Объекты в JavaScript могут быть объявлены с помощью фигурных скобок {..}, и объекты могут содержать определенные свойства. Эти свойства в основном представляют собой пары "ключ-значение". Ключ - это идентификатор, который используется для хранения и извлечения значений. Преобразование пар ключ-значение обычными методами утомительно. Но с появлением «underscore.js» инверсию значений ключей можно выполнять с помощью встроенного метода _.invert () . В этой статье мы обсудим оба метода инвертирования пар ключ-значение объектов JavaScript.
Первый подход: в этом примере мы продемонстрируем традиционный метод инвертирования пар ключ-значение. Сначала создается студенческий объект со свойствами «имя», «возраст», «стандарт» и «сборы». Определена функция inverse (), которая принимает объект ученика в качестве параметра и перебирает каждый ключ объекта. Определен новый объект retobj, в котором хранятся инвертированные пары значений ключа.
Реализация кода:
Javascript
function inverse(obj){ var retobj = {}; for ( var key in obj){ retobj[obj[key]] = key; } return retobj; } var student = { name : "Jack" , age: 18, std : 12, fees : 5000 } console.log( "Object before inversion" ); console.log(student); student = inverse(student); console.log( "Object after inversion" ); console.log(student); |
Выход:
Второй подход: в этом примере мы используем метод _.invert () из «underscore.js» для инвертирования пар ключ-значение объекта. Метод принимает объект в качестве параметра и возвращает копию объекта с ключами в качестве значений и значениями в качестве ключей. Объект «ученик» передается методу _.invert () . Метод возвращает перевернутую копию объекта «студент». Программа импортирует внешнюю библиотеку «underscore.js» для использования встроенных методов. Результаты отображаются на веб-странице.
Синтаксис:
_.invert (объект)
Реализация кода:
HTML
<!DOCTYPE html> < html > < head > < script src = </ script > </ head > < body > < script type = "text/javascript" > var student = { name : "Jack", age: 18, std : 12, fees : 5000 } document.write("< h1 >Object before inversion</ h1 >"); document.write("< br >"); document.write(JSON.stringify(student)); document.write("< br >"); student = JSON.stringify(_.invert(student)); document.write("< h1 >Object after inversion</ h1 >"); document.write("< br >"); document.write(student); </ script > </ body > </ html > |
Выход: