Bir ob'ektni ob'ektlar majmuasiga aylantirish

Berilgan kalitlarning barcha elementlarini ob'ektlar ro'yxatiga aylantirmoqchiman. Muayyan o'zgarish Long ob'ektiga umumiy ob'ektini kodi> bir xil qiymatiga ega ob'ekt.

Kiritish:

[obj1, obj2, obj3, ...]

Har bir ob'ektga o'xshab ko'ring:

{
    key1: value1,//value1 is an object
    key2: value2
}

Demak, bu erda maqsad juda o'xshash qatorni olishdir, lekin key1 faqat ob'ektidan dan long ob'ektiga aylantirilganda, mening misolimda incremented bir tomonidan.

Chiqish:

[obj1, obj2, obj3]

Har bir ob'ekt:

{
    key1: value1,//value1 is now a Long object
    key2: value2
}

Men qatorni xaritalash bilan sinab ko'rdim, keyin esa murdalariga kirib chiqdim, lekin muvaffaqiyatga erishmadim.

Har qanday yordam juda yuqori baholanadi.

1
Siz sinab ko'rgan kod, albatta, savolning bir qismi bo'lishi kerak.
qo'shib qo'ydi muallif Pointy, manba
Iltimos, so'ragan natijalar bilan bir qatorda haqiqiy namuna qo'shing.
qo'shib qo'ydi muallif Nina Scholz, manba
Iltimos, so'ragan natijalar bilan bir qatorda haqiqiy namuna qo'shing.
qo'shib qo'ydi muallif Nina Scholz, manba
juda oddiy xarita bo'lishi kerak. Siz nima qildingiz?
qo'shib qo'ydi muallif Sergiu Paraschiv, manba
juda oddiy xarita bo'lishi kerak. Siz nima qildingiz?
qo'shib qo'ydi muallif Sergiu Paraschiv, manba
Izohlaringiz uchun tashakkur. Men savolni yanada aniqroq deb o'zgartirdim. Bundan tashqari, yakuniy yechim bilan quyidagi savolni qo'shdim.
qo'shib qo'ydi muallif petersv, manba

8 javoblar

Yana bir qator yaratmoqchi bo'lmaguningizcha, bu erda xaritani chizish shart emas. Oddiy pastadir kifoya qiladi, faqat key1 yoki har bir ob'ektni yangilash:

[obj1, obj2, obj3].forEach(obj => {
  obj.key1 = obj.key1 + 1
})
1
qo'shib qo'ydi

Yana bir qator yaratmoqchi bo'lmaguningizcha, bu erda xaritani chizish shart emas. Oddiy pastadir kifoya qiladi, faqat key1 yoki har bir ob'ektni yangilash:

[obj1, obj2, obj3].forEach(obj => {
  obj.key1 = obj.key1 + 1
})
1
qo'shib qo'ydi

Jildning ob'ektga egaligi sababli - ob'ektga kiritilgan har qanday o'zgarish haqiqiy qabul qilingan ma'lumotlarni aks ettiradi. Ob'ekt nusxasini olish va mantiqni bajarish kerak.

Sizning fikringiz,

var input = [obj1, obj2, obj3];
var output = input.map(function(obj){
    obj.key1 = obj.key1 + 1;
    return obj;
});

console.log(input[0]===output[0]); //true

biznes:

var output = input.map(function(obj){
    var _objCopy = Object.assign({}, obj);
    _objCopy.key1 = _objCopy.key1 + 1;
    return _objCopy;
});

console.log(input[0]===output[0]); //false
0
qo'shib qo'ydi

Jildning ob'ektga egaligi sababli - ob'ektga kiritilgan har qanday o'zgarish haqiqiy qabul qilingan ma'lumotlarni aks ettiradi. Ob'ekt nusxasini olish va mantiqni bajarish kerak.

Sizning fikringiz,

var input = [obj1, obj2, obj3];
var output = input.map(function(obj){
    obj.key1 = obj.key1 + 1;
    return obj;
});

console.log(input[0]===output[0]); //true

biznes:

var output = input.map(function(obj){
    var _objCopy = Object.assign({}, obj);
    _objCopy.key1 = _objCopy.key1 + 1;
    return _objCopy;
});

console.log(input[0]===output[0]); //false
0
qo'shib qo'ydi

har qanday ob'ekt es6 yo'lining dinamik ravishda birinchi kaliti haqida

 const myObject0 = {
           'foo1': { name: 'myNam1' },
           'foo2': { name: 'myNam2' }
        };

        const myObject1 = {
           'yo': { name: 'myNam1' },
           'boh': { name: 'myNam2' }
        };


        [myObject0, myObject1].forEach(obj => {
            let getFirstKey = Object.keys(obj)[0];
            getFirstKey = getFirstKey + 1;
            console.log(getFirstKey);

        });
0
qo'shib qo'ydi

har qanday ob'ekt es6 yo'lining dinamik ravishda birinchi kaliti haqida

 const myObject0 = {
           'foo1': { name: 'myNam1' },
           'foo2': { name: 'myNam2' }
        };

        const myObject1 = {
           'yo': { name: 'myNam1' },
           'boh': { name: 'myNam2' }
        };


        [myObject0, myObject1].forEach(obj => {
            let getFirstKey = Object.keys(obj)[0];
            getFirstKey = getFirstKey + 1;
            console.log(getFirstKey);

        });
0
qo'shib qo'ydi

Barcha javoblar uchun rahmat.

Men quyidagilar bilan yakun topdim:

Kirishni nazarda tuting

[
    {
        key1: value1,//value1 is an object
        key2: value2
    },

    {
        key1: value1,//value1 is also an object
        key2: value2
    }
]

Solution: I ended up with,

  const testvar = [obj1, obj2, obj3].map((obj) => {
    return {
      ...obj,
      key1: new Long.fromValue(obj.key1)
    }
  });

  console.log(testvar);

Qaysi natijani beradi

[
    {
        key1: value1,//value1 is now a Long object
        key2: value2
    },

    {
        key1: value1,//value1 is also now a Long object
        key2: value2
    }
]
0
qo'shib qo'ydi

Barcha javoblar uchun rahmat.

Men quyidagilar bilan yakun topdim:

Kirishni nazarda tuting

[
    {
        key1: value1,//value1 is an object
        key2: value2
    },

    {
        key1: value1,//value1 is also an object
        key2: value2
    }
]

Solution: I ended up with,

  const testvar = [obj1, obj2, obj3].map((obj) => {
    return {
      ...obj,
      key1: new Long.fromValue(obj.key1)
    }
  });

  console.log(testvar);

Qaysi natijani beradi

[
    {
        key1: value1,//value1 is now a Long object
        key2: value2
    },

    {
        key1: value1,//value1 is also now a Long object
        key2: value2
    }
]
0
qo'shib qo'ydi
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb