it-swarm-id.com

JavaScript Array Nilai tombol tekan

Ok, saya akan sedikit salah di sini dan saya sudah menghabiskan satu jam dengan ini jadi semoga salah satu dari kalian bisa membantu saya.

var a = ['left','top'],
    x = [];

for(i=0;i<a.length;i++) {
    x.Push({
        a[i] : 0
    });
}

Bagaimana cara saya mendorong nilai ke setiap kunci di dalam array var a?

Anda dapat melihat usaha saya yang gagal tetapi mudah-mudahan itu akan memberi Anda wawasan tentang apa yang saya coba capai.

26
daryl

Anda harus menggunakan notasi braket:

var obj = {};
obj[a[i]] = 0;
x.Push(obj);

Hasilnya adalah:

x = [{left: 0}, {top: 0}];

Mungkin alih-alih array objek, Anda hanya ingin satu objek dengan dua properti:

var x = {};

dan

x[a[i]] = 0;

Ini akan menghasilkan x = {left: 0, top: 0}

46
Felix Kling

Anda dapat menggunakan:


Untuk membuat berbagai objek:

var source = ['left', 'top'];
const result = source.map(arrValue => ({[arrValue]: 0}));

Demo:

var source = ['left', 'top'];

const result = source.map(value => ({[value]: 0}));

console.log(result);


Atau jika Anda ingin membuat objek tunggal dari nilai array:

var source = ['left', 'top'];
const result = source.reduce((obj, arrValue) => (obj[arrValue] = 0, obj), {});

Demo:

var source = ['left', 'top'];

const result = source.reduce((obj, arrValue) => (obj[arrValue] = 0, obj), {});

console.log(result);

1
Mohammad Usman