国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - JS menambah berbilang sifat dinamik pada objek
僅有的幸福
僅有的幸福 2017-06-26 10:51:28
0
5
939
let Obj={};

//給出一個數(shù)組
var arr = [
    {a: 'aa'},
    {b: 'bb'},
    {c: 'cc'}
]
//生成如下格式
Obj={
  a:'aa',
  b:'bb',
  c:'cc'
}

Secara peribadi, saya rasa anda boleh menggunakan Object.assign() untuk bergabung.

僅有的幸福
僅有的幸福

membalas semua(5)
小葫蘆
arr.reduce((prev, curr) => Object.assign(prev, curr), {})
小葫蘆
arr.reduce((prev, next) => {
    Object.keys(next).forEach((item) => {
         prev[item] = next[item]        
    })
    return prev
}, {})
代言

Penyelesaian

@冴宇 dan @cool_zjy adalah serupa, tetapi kedua-duanya menjana objek baharu Mengikut maksud soalan asal, reduce 的初始值傳入 Obj 代替 {} tidak mengapa. Yang pertama tidak memerlukan ciri ES6, yang kedua memerlukannya.

Kaedah

@hsfzxjy nampaknya mudah, tetapi ia akan menjana banyak objek perantaraan, jadi kecekapan seharusnya tidak begitu baik.

Object.assign Penyelesaiannya mestilah yang paling mudah Sudah tentu, mungkin API yang lebih mudah boleh didapati di perpustakaan Lodash untuk melaksanakannya.

給我你的懷抱

Laksatif. Menggunakan Operator Spread ES6 boleh menjadi lebih ringkas, tetapi intipatinya adalah sama

let arr = [
    {a: 'aa'},
    {b: 'bb'},
    {c: 'cc'}
]

let obj = arr.reduce((x, y) => ({...x, ...y}), {})
console.log(obj)

洪濤

Soal jawab dahulu, gunakan Object.assign() untuk bergabung, saya tidak tahu sama ada terdapat kaedah lain yang bagus

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan