Този урок ще демонстрира подходите за промяна на стойността на обект в масив в JavaScript.
Как да промените/актуализирате стойността на обект, който е вътре в масив с помощта на JavaScript?
За да промените стойността на обект, който е вътре в масив, използвайте следните предварително дефинирани методи на JavaScript:
Метод 1: Промяна на стойността на обект, който е вътре в масив с помощта на метода „findIndex()“
За да промените стойността на обект в масива, използвайте „ findIndex() ” метод. Този метод намира индекса на елемента в масив, който отговаря на определено условие. За указване на условието се използва функция за обратно извикване.
Синтаксис
Следвайте дадения синтаксис за промяна на стойността на обект с помощта на метода findIndex():
arrayObject. findIndex ( обект => {
//състояние
} ) ;
Пример
Създайте масив, който съдържа различни обекти:
беше arrObj = [ { документ за самоличност : 5 , име : 'Майер' , възраст : 25 } ,
{ документ за самоличност : 9 , име : 'Пол' , възраст : 26 } ,
{ документ за самоличност : 12 , име : 'Стивън' , възраст : двадесет } ]
Извикайте метода findIndex() с функцията за обратно извикване, която проверява идентификатора на обекти, еквивалентен на „ 12 ', и съхранявайте индекса на обекта в променлива ' getIndex ”:
конст getIndex = arrObj. findIndex ( обект => {връщане обект документ за самоличност === 12 ;
} ) ;
Променете стойността на свойството ' възраст ” на обект:
arrObj [ getIndex ] . възраст = 24 ;
Накрая отпечатайте актуализирания масив от обекти на конзолата:
конзола. дневник ( „Актуализираният масив от обекти е:“ ) ;конзола. дневник ( arrObj ) ;
Резултатът показва, че стойността на „ възраст ” на обекта, чийто идентификатор е 12, е успешно променен от „ двадесет ' да се ' 24 ”:
Метод 2: Променете стойността на обект, който е вътре в масив, като използвате метода „map()“ с оператор за разпространение
Използвайте „ карта() ' метод с ' оператор за разпространение ” за промяна на стойността на обекта в масив. „map()“ се използва за създаване на нов масив чрез извикване на функция на всеки елемент от съществуващ масив. Докато операторът за разпръскване позволява разпръскване или копиране на елементи от масив в нов масив или аргументите на извикване на функция. Методът “map()” не модифицира/променя оригиналния масив, но извежда нов масив с модифицираните елементи.
Синтаксис
За да промените стойността на обект с помощта на метода map() с оператора spread, използвайте следния синтаксис:
ако ( състояние ) {
връщане { ... обект , ключ : нова стойност } ;
}
връщане обект ;
} ) ;
Пример
Извикайте метода map() с оператор за разпространение, за да промените името на обекта, чийто идентификатор е „ 9 ”:
ако ( обект документ за самоличност === 9 ) {
връщане { ... обект , име : 'Алиса' } ;
}
връщане обект ;
} ) ;
Отпечатайте модифицирания масив на обекта на конзолата:
конзола. дневник ( newObjectArr ) ;Собствеността ' име ” на обекта, чийто идентификатор е „ 9 „ е променено от „ Пол ' да се ' Алис ”:
Метод 3: Променете стойността на обект, който е вътре в масив, като използвате метода „find()“
За да промените стойността на обект в масив, използвайте „ намирам() ” метод. Използва се за намиране на елемент в масив, който отговаря на дадено условие. Той извежда стойността на елемента, ако отговаря на условието. В противен случай дава „ недефиниран ”, което показва, че не е намерен такъв елемент.
Синтаксис
Използвайте дадения синтаксис за метода find(), за да намерите елемента в масив:
//състояние
} ) ;
Пример
Извикайте метода find(), за да намерите обекта, чийто идентификатор е „ 5 ' и съхранява обекта в променлива ' findIndex ”:
връщане обект документ за самоличност === 5 ;
} ) ;
Проверете дали променливата „findIndex“ не е равна на „ недефиниран ” означава, че ако обектът бъде намерен, променете стойността на свойството „ име ” на обекта:
ако ( findIndex !== недефиниран ) {findIndex. име = 'Джон' ;
}
Накрая отпечатайте обекта на конзолата:
конзола. дневник ( findIndex ) ;Изходът показва само посочения обект, като променя стойността му:
Метод 4: Променете стойността на обект, който е вътре в масив, като използвате цикъл „for-of“
Можете също да използвате „ за-на ” цикъл за промяна на стойността на обект в масива. Използва се за итериране на масива от обекти и проверка на условието за промяна на стойността на обекта. След достъп и промяна на стойността на обекта, прекратете цикъла с помощта на „ прекъсвам ” ключова дума.
Синтаксис
Следвайте дадения синтаксис за цикъла „for-of“:
ако ( състояние ) {
//изявление
прекъсвам ;
}
}
Пример
Използвайте цикъла for-of и проверете обекта, чийто идентификатор е „ 5 ” и променете „ възраст ' да се ' 27 ”:
ако ( обект документ за самоличност === 5 ) {
обект възраст = 27 ;
прекъсвам ;
}
}
Отпечатайте актуализирания обект в масива на конзолата:
конзола. дневник ( arrObj ) ;Изход
Събрахме цялата съществена информация, свързана с променящата се стойност на обект, който е вътре в масива в JavaScript.
Заключение
За да промените стойността на обект, който е в масив, използвайте предварително дефинираните методи на JavaScript, включително „ findIndex() , “ карта() ' метод с ' оператор за разпространение ”, “ намирам() ” или метода „ за-на ” цикъл. Тези методи успешно промениха стойностите на обект в масив. Този урок демонстрира различните подходи за промяна на стойността на обект, който е в масив в JavaScript.