• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed [JS] Obiekty, zmiana wartości

Object Storage Arubacloud
+1 głos
314 wizyt
pytanie zadane 26 września 2020 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 26 września 2020 przez Marak123

Mam problem z pętlą bo chcę zrobić tak ze zmieni wszystkie wartości elementów w obiekcie za pomocą pętli i pętla się będzie wykonywać dopóki nie spełni się warunek ze liczba nie będzie większa niż ilość elementów w obiekcie 

coś takeigo:

for(let i = 0; i <= Object.keys(check).length;){
    i++;
}

tylko że jak wpisze zamiast tego Object.keys(check).length liczbę np. 30 to petla się zakończy ale jak jest tam ta linijka kodu Object.keys(check).length to pętla będzie się wykonywać w nieskończoność nie wiem dlaczego bo jak sprawdziłem jaki to jest typ zmiennej to pokazuje ze jest to numer parsowałem to nawet na typ int ale nie działa. 

Wie ktoś dlaczego może nie działać??

Mam też problem bo nie wiem jak do elementu przypisać nową wartość za pomocą jego pozycji a nie nazwy tak jak np. z tablicy wyciąganie elementów po jego pozycji, tylko że jak chcę  przypisać nową wartość temu elementowi. Ma ktoś może już jakieś doświadczenie jak to zrobić?

komentarz zamknięcia: dzięki za odpowiedź i pomoc
komentarz 26 września 2020 przez adrian17 Ekspert (344,860 p.)

zmieni wszystkie wartości elementów w obiekcie

Jak to robisz? Pokażesz konkretniej kod?

 ale jak jest tam ta linijka kodu Object.keys(check).length to pętla będzie się wykonywać w nieskończoność

Brzmi, jakbyś powiększał obiekt. Więc `Object.keys(check).length` będzie z każdą iteracją większy.

komentarz 26 września 2020 przez Marak123 Stary wyjadacz (11,190 p.)
no właśnie ja chcę to zrobić tylko nie wiem jak zrobiłem na razie tylko pętle zrobiłem która już działa.

ta rzeczywiście jest powiększany nie skumałem nie ważne. A wiesz jak zrobić to żeby przypisywać wartości elementowi po jego pozycji??
komentarz 26 września 2020 przez adrian17 Ekspert (344,860 p.)

Powtórzę: pokażesz proszę, co konkretnie chcesz zrobić?

po jego pozycji?

Jeśli chcesz indeksowane pozycje, to czemu używasz obiekt, a nie tablicę?

komentarz 26 września 2020 przez Marak123 Stary wyjadacz (11,190 p.)

Nie wie może to jest tablica jest to coś takiego

{hfgjgf: false, jakis_tam_katalog: false, nie_wiem_co_tam: false, nie_wiem_co_tam___kopia: false, nie_wiem_co_tam___kopia__10_: false}

a obiekt a nie tablica bo potrzebuje mieć nazwę elementu która będzie miała wartość true lub false a pokazać ci nie mogę konkretnie co chcę zrobić bo nie wiem jak to zrobić to jak ci to pokazać mam mam tylko pętle 

function setAllvalue(arrays, what){
        const length_obj = Object.keys(check).length

        if(what === true){
            for(let i = 0; i <= length_obj;){
                
                i++;
            }
        }else if(what === false){
            for(let i = 0; i <= length_obj;){
                
                i++;
            }
        }
        return arrays;
    }

i w środku chcę zrobić tak aby każdy element w tym chyba obiekcie przypisała mu się wartość true lub false nie wiem jak to zrobić kombinowałem coś takiego

check[id] = true

ale to dodaje po prostu nowy element 

1
komentarz 26 września 2020 przez adrian17 Ekspert (344,860 p.)

W sensie... po prostu coś takiego?

>>> let obj = {x: false, y: true, z: false};
>>> for (let key in obj) obj[key] = true;
>>> obj
{x: true, y: true, z: true}

 

komentarz 26 września 2020 przez Marak123 Stary wyjadacz (11,190 p.)
aha wystarczy coś takiego zrobić, no to tego się nie spodziewałem zamiast równa się wystarczyło dać in dobra dzięki
komentarz 26 września 2020 przez VBService Ekspert (253,340 p.)

Iterating Through an Object with `forEach()`

let obj = {x: false, y: true, z: false};

Object.keys(obj).forEach(key => {
  obj[key] = true;
});

console.info(obj);

 

Podobne pytania

0 głosów
2 odpowiedzi 612 wizyt
pytanie zadane 14 lutego 2016 w C i C++ przez Ziuziek Mądrala (5,140 p.)
0 głosów
1 odpowiedź 156 wizyt
pytanie zadane 3 czerwca 2019 w JavaScript przez enseenti Nowicjusz (150 p.)
0 głosów
3 odpowiedzi 646 wizyt

92,576 zapytań

141,425 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...