Как изменить значение объекта внутри массива с помощью JavaScript?

Kak Izmenit Znacenie Ob Ekta Vnutri Massiva S Pomos U Javascript



При работе с JavaScript разработчикам может потребоваться динамическое обновление данных. Он находится внутри массива, объекта или массива объектов. Массив — это группа или набор значений, и каждое значение может относиться к любому типу данных, включая объекты. Чтобы изменить значение объекта внутри массива, сначала получите доступ к объекту, а затем измените его свойства. В JavaScript существует несколько встроенных методов для изменения значения объекта внутри массива.

В этом руководстве будут продемонстрированы подходы к изменению значения объекта внутри массива в JavaScript.

Как изменить/обновить значение объекта внутри массива с помощью JavaScript?

Для изменения значения объекта, находящегося внутри массива, используйте следующие предопределенные методы JavaScript:







Способ 1: изменить значение объекта, находящегося внутри массива, с помощью метода «findIndex()»

Чтобы изменить значение объекта внутри массива, используйте « найтиИндекс() метод. Этот метод находит индекс элемента в массиве, который удовлетворяет определенному условию. Для указания условия используется функция обратного вызова.



Синтаксис
Следуйте приведенному синтаксису для изменения значения объекта с помощью метода findIndex():



массивОбъект. индекс поиска ( объект => {
//состояние
} ) ;

Пример
Создайте массив, содержащий разные объекты:





был arrObj '=' [ { идентификатор : 5 , имя : 'Майер' , возраст : 25 } ,
{ идентификатор : 9 , имя : 'Павел' , возраст : 26 } ,
{ идентификатор : 12 , имя : 'Стивен' , возраст : двадцать } ]

Вызовите метод findIndex() с функцией обратного вызова, которая проверяет идентификатор объектов, эквивалентный « 12 ', и сохранить индекс объекта в переменной ' получитьиндекс ”:

константа получитьиндекс '=' обрОбж. индекс поиска ( объект => {
возвращаться объект идентификатор === 12 ;
} ) ;

Изменить значение свойства « возраст ” объекта:



arrObj [ получитьиндекс ] . возраст '=' 24 ;

Наконец, выведите обновленный массив объектов на консоль:

консоль. бревно ( «Обновленный массив объектов:» ) ;
консоль. бревно ( arrObj ) ;

Вывод показывает, что значение « возраст ” объекта с идентификатором 12 был успешно изменен с “ двадцать ' к ' 24 ”:

Способ 2: изменить значение объекта, который находится внутри массива, используя метод «map ()» с оператором расширения

Используйте « карта() ” метод с “ спред оператор ” для изменения значения объекта внутри массива. «map ()» используется для создания нового массива путем вызова функции для каждого элемента существующего массива. В то время как оператор распространения позволяет распространять или копировать элементы массива в новый массив или аргументы вызова функции. Метод «map()» не модифицирует/изменяет исходный массив, а выводит новый массив с измененными элементами.

Синтаксис
Для изменения значения объекта с помощью метода map() с оператором расширения используйте следующий синтаксис:

массивОбъект. карта ( объект => {
если ( состояние ) {
возвращаться { ... объект , ключ : новое значение } ;
}
возвращаться объект ;
} ) ;

Пример
Вызовите метод map() с оператором распространения, чтобы изменить имя объекта, идентификатор которого равен « 9 ”:

константа новыйОбъектАрр '=' обрОбж. карта ( объект => {
если ( объект идентификатор === 9 ) {
возвращаться { ... объект , имя : Алиса } ;
}
возвращаться объект ;
} ) ;

Выведите измененный массив объекта на консоль:

консоль. бревно ( новыйОбъектАрр ) ;

Недвижимость ' имя ' объекта, идентификатор которого ' 9 ” был изменен с “ Павел ' к ' Алиса ”:

Способ 3: изменить значение объекта, находящегося внутри массива, с помощью метода «find()»

Для изменения значения объекта внутри массива используйте « находить() метод. Он используется для поиска элемента в массиве, удовлетворяющего заданному условию. Он выводит значение элемента, если он удовлетворяет условию. В противном случае это дает « неопределенный , », указывая на то, что такой элемент не найден.

Синтаксис
Используйте данный синтаксис для метода find(), чтобы найти элемент в массиве:

массивОбъект. находить ( объект => {
//состояние
} ) ;

Пример
Вызовите метод find(), чтобы найти объект с идентификатором « 5 ' и сохранить объект в переменной ' индекс поиска ”:

константа индекс поиска '=' обрОбж. находить ( объект => {
возвращаться объект идентификатор === 5 ;
} ) ;

Проверьте, не равна ли переменная «findIndex» « неопределенный ” означает, что если объект найден, изменить значение свойства “ имя » объекта:

если ( индекс поиска !== неопределенный ) {
найтиИндекс. имя '=' 'Джон' ;
}

Наконец, напечатайте объект в консоли:

консоль. бревно ( индекс поиска ) ;

На выходе отображается только указанный объект путем изменения его значения:

Метод 4: изменить значение объекта, находящегося внутри массива, с помощью цикла for-of

Вы также можете использовать « для-из » цикл для изменения значения объекта внутри массива. Он используется для перебора массива объектов и проверки условия для изменения значения объекта. После доступа и изменения значения объекта завершите цикл, используя « перерыв ключевое слово.

Синтаксис
Следуйте данному синтаксису для цикла for-of:

для ( константа объект массиваОбъект ) {
если ( состояние ) {
//заявление
перерыв ;
}
}

Пример
Используйте цикл for-of и проверьте объект с идентификатором « 5 ' и измените ' возраст ' к ' 27 ”:

для ( константа объект arrObj ) {
если ( объект идентификатор === 5 ) {
объект возраст '=' 27 ;
перерыв ;
}
}

Распечатайте обновленный объект внутри массива на консоли:

консоль. бревно ( arrObj ) ;

Выход

Мы собрали всю необходимую информацию, относящуюся к изменению значения объекта, который находится внутри массива в JavaScript.

Заключение

Чтобы изменить значение объекта, находящегося внутри массива, используйте предопределенные методы JavaScript, в том числе « найтиИндекс() , “ карта() ” метод с “ спред оператор », « находить() 'метод' или ' для-из ' петля. Эти методы успешно изменили значения объекта внутри массива. В этом руководстве продемонстрированы различные подходы к изменению значения объекта, находящегося внутри массива в JavaScript.