Javascript Değişken Tanımlama

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    merhabalar

    bana bir obje geliyor, içeriğini bilmiyorum.

    ornegin : 

    kisi = {isim: 'ahmet', yas:33, urunler: [{id: 1, adet:3},{id:5, adet: 6}]}

     bu objeyi alip ilk seviyedeki keylerden birer degisken yaratmak istiyorum. 

    isim, yas ve urunler isminde 3 degisken bekliyorum cikti olarak.

    bu obje icinde gelecek keyleri bilmedigim icin const {isim, yas, urunler} = kisi seklinde yapinca isimi gormuyor. cunku keyleri bilmiyorum , herhangi bir sey olabilir bu keyler.

    aradığım şey php deki su olay: 

     

    $isim = 'murat'

    php de sunu yapinca: 

    ${$isim} = "kral adam"

     murat isminde bir degiskenimiz oluyor. $murat diye erisebiliyoruz.

     

    "neden boyle bir sey istiyorsun? " diyecek olursaniz, kullaniciya ufak js kodlari yazabilmesi icin bir alan verdim. orda ufak hesaplamalar yapabiliyor. atiyorum "fiyat * 1.5" falan yapabiliyor. burda kullanacagim

     


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek

    Phpdeki o olay jsde yok.

    Obje ile çalışmaya devam edip Object.keys kullan.


    0x0480 takilin madem ﷽﷽﷽
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    Hocam phpdeki olay gibi olsun dersen bütün işlemleri object üzerinde halledebilirsin;

    const $ = {}

    $.murat = "ali"

    $.ali = "veli"

    $[$.murat] === "veli" olacaktır

    bütün işlemlerden sonra Object.keys($) yapacak olursak

    ['murat', 'ali'] şeklinde array verecektir.

    Objenin sonundaki değişkeni almak istersem mesela

    $[Object.keys($).slice(-1)[0]] veli değerini verecektir.

     

    $'ı phpdeki değişken tanımlamanın başında kullanıldığı için benzetme amacıyla verdim. istediğin şeyi verebilirsin.

    Yani var.


    iyibu! yeniden..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo
    by_Tet bunu yazdı

    Hocam phpdeki olay gibi olsun dersen bütün işlemleri object üzerinde halledebilirsin;

    const $ = {}

    $.murat = "ali"

    $.ali = "veli"

    $[$.murat] === "veli" olacaktır

    bütün işlemlerden sonra Object.keys($) yapacak olursak

    ['murat', 'ali'] şeklinde array verecektir.

    Objenin sonundaki değişkeni almak istersem mesela

    $[Object.keys($).slice(-1)[0]] veli değerini verecektir.

     

    $'ı phpdeki değişken tanımlamanın başında kullanıldığı için benzetme amacıyla verdim. istediğin şeyi verebilirsin.

    Yani var.

    nasil yani hocam?  yanlis anlamadiysam bu dedigini yapinca zaten bi objenin icinde olan degerleri baska bi objeye tasimis oluyorum. halihazirda elimdeki objeden bi farki olmuyo ki o zaman ? 

     


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Elif - Efe
    rakkoc
    rakkoc's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo
    yolbulucu bunu yazdı

    merhabalar

    bana bir obje geliyor, içeriğini bilmiyorum.

    ornegin : 

    kisi = {isim: 'ahmet', yas:33, urunler: [{id: 1, adet:3},{id:5, adet: 6}]}

     bu objeyi alip ilk seviyedeki keylerden birer degisken yaratmak istiyorum. 

    isim, yas ve urunler isminde 3 degisken bekliyorum cikti olarak.

    bu obje icinde gelecek keyleri bilmedigim icin const {isim, yas, urunler} = kisi seklinde yapinca isimi gormuyor. cunku keyleri bilmiyorum , herhangi bir sey olabilir bu keyler.

    aradığım şey php deki su olay: 

     

    $isim = 'murat'

    php de sunu yapinca: 

    ${$isim} = "kral adam"

     murat isminde bir degiskenimiz oluyor. $murat diye erisebiliyoruz.

     

    "neden boyle bir sey istiyorsun? " diyecek olursaniz, kullaniciya ufak js kodlari yazabilmesi icin bir alan verdim. orda ufak hesaplamalar yapabiliyor. atiyorum "fiyat * 1.5" falan yapabiliyor. burda kullanacagim

     

    let keys = Object.keys(kisi)
    console.log({keys});

    sana keyleri verecek. 


    Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    antichrist
    antichrist's avatar
    Kayıt Tarihi: 15/Ağustos/2021
    Erkek

    let obj = {
    isim: 'ahmet',
    yas:33,
    urunler: [
    {id: 1, adet:3},
    {id:5, adet: 6}
    ]
    };

    let keys = Object.keys(obj);

    keys.forEach((key) => {
    console.log(obj[key]);
    })

     

    • "ahmet"
    • 33
    • [{ adet: 3, id: 1 }, { adet: 6, id: 5 }]

    Hocam şunu demek istemiyorsun değil mi? obj[key] olarak da elemanlara erişebiliyorsun. key list için de Object.keys kullanabilirsin. Bu işine yaramazsa örneği daha net verebilirsen yardımcı olmaya çalışayım.

     

    antichrist tarafından 30/Oca/22 19:59 tarihinde düzenlenmiştir

    ~
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    ya eval ile çözdüm, daha önce denemiştim ve olmamıştı, galiba typo falan yapmışım. @rakkoc la yazisirken tekrar denedim , yapabildim.

    örnek olarak :  

    var row = {
    name: 'ali',
    surname: 'veli',
    maas: 4500,
    urunler: [{id: 3}]
    }

    for(var i = 0;i< Object.keys(row).length;i++){
    var item = Object.keys(row)[i]
    var code = "var " + item + "= row[item]"
    eval(code)
    }

    console.log(name)
    console.log(surname)
    console.log(urunler)

    direkt obje icindeki her seyi degisken olarak kullanabiliyorum artik,
    maas * 1.5 yapabiliyorum vs.



     

    yolbulucu tarafından 30/Oca/22 20:06 tarihinde düzenlenmiştir

    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek
    yolbulucu bunu yazdı
    by_Tet bunu yazdı

    Hocam phpdeki olay gibi olsun dersen bütün işlemleri object üzerinde halledebilirsin;

    const $ = {}

    $.murat = "ali"

    $.ali = "veli"

    $[$.murat] === "veli" olacaktır

    bütün işlemlerden sonra Object.keys($) yapacak olursak

    ['murat', 'ali'] şeklinde array verecektir.

    Objenin sonundaki değişkeni almak istersem mesela

    $[Object.keys($).slice(-1)[0]] veli değerini verecektir.

     

    $'ı phpdeki değişken tanımlamanın başında kullanıldığı için benzetme amacıyla verdim. istediğin şeyi verebilirsin.

    Yani var.

    nasil yani hocam?  yanlis anlamadiysam bu dedigini yapinca zaten bi objenin icinde olan degerleri baska bi objeye tasimis oluyorum. halihazirda elimdeki objeden bi farki olmuyo ki o zaman ? 

     

    farki olmuyor evet, birebir karsiligi yok cunku.

    javascriptte yazdigin her nane ozunde obje zaten, kasma o yuzden illa aynisi olacak diye.

    sen neden illa variable olsun istiyorsun ondan bahset bize.

    misal,

    let obj = {elma: 1, armut: 2}
    let aliases = Object.keys(obj)
    console.log(obj[aliases[0]])

    dedigimizde bize elma degerini yani 1'i veriyor zaten. bu degeri de nereye pass gecmek istiyorsan gecebiliirsin.

    illa Object.keys kullanmak zorunda degilsin. Object.values ya da Object.entries de kullanabilirsin.


    0x0480 takilin madem ﷽﷽﷽
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek
    yolbulucu bunu yazdı

    ya eval ile çözdüm, daha önce denemiştim ve olmamıştı, galiba typo falan yapmışım. @rakkoc la yazisirken tekrar denedim , yapabildim.

    örnek olarak :  

    var row = {
    name: 'ali',
    surname: 'veli',
    maas: 4500,
    urunler: [{id: 3}]
    }

    for(var i = 0;i< Object.keys(row).length;i++){
    var item = Object.keys(row)[i]
    var code = "var " + item + "= row[item]"
    eval(code)
    }

    console.log(name)
    console.log(surname)
    console.log(urunler)

    direkt obje icindeki her seyi degisken olarak kullanabiliyorum artik,
    maas * 1.5 yapabiliyorum vs.

    yaklasimini degistir derim hocam.

    var name = row[item]
    var surname = row[item]
    ..

    yapiyorsun her seferinde. saglikli gorunmuyor, bi rahatsiz ediciligi var. bi de hata riskini dusurmek icin var yerine let/const oneriyorum.

    const row = {
    name: 'ali',
    surname: 'veli',
    maas: 4500,
    urunler: [{id: 3}]
    }

    for(let i=0; i < Object.keys(row).length; i++){
    let [key, val] = Object.entries(row)[i]

    if (key === 'maas') console.log(key, val * 1.5)
    }

    falan mesela.

    end tarafından 30/Oca/22 20:16 tarihinde düzenlenmiştir

    0x0480 takilin madem ﷽﷽﷽
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo
    end bunu yazdı
    yolbulucu bunu yazdı

    ya eval ile çözdüm, daha önce denemiştim ve olmamıştı, galiba typo falan yapmışım. @rakkoc la yazisirken tekrar denedim , yapabildim.

    örnek olarak :  

    var row = {
    name: 'ali',
    surname: 'veli',
    maas: 4500,
    urunler: [{id: 3}]
    }

    for(var i = 0;i< Object.keys(row).length;i++){
    var item = Object.keys(row)[i]
    var code = "var " + item + "= row[item]"
    eval(code)
    }

    console.log(name)
    console.log(surname)
    console.log(urunler)

    direkt obje icindeki her seyi degisken olarak kullanabiliyorum artik,
    maas * 1.5 yapabiliyorum vs.

    yaklasimini degistir derim hocam.

    var name = row[item]
    var surname = row[item]
    ..

    yapiyorsun her seferinde. saglikli gorunmuyor, bi rahatsiz ediciligi var. bi de hata riskini dusurmek icin var yerine let/const oneriyorum.

    const row = {
    name: 'ali',
    surname: 'veli',
    maas: 4500,
    urunler: [{id: 3}]
    }

    for(let i=0; i < Object.keys(row).length; i++){
    let [key, val] = Object.entries(row)[i]

    if (key === 'maas') console.log(key, val * 1.5)
    }

    falan mesela.

    let [key, val] = Object.entries(row)[i]

    şu satırı anlamadım ? 

     

     


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek

    o satir da object destruction yapiyor.

    let [a, b] = [0, 1] demek,

    let a = 0

    let b = 1

    demek.

    Object.entries orada bize ["armut", "1"] falan donduruyor [key, value] seklinde.


    0x0480 takilin madem ﷽﷽﷽
Toplam Hit: 2091 Toplam Mesaj: 15
javascript object destructing