我正在阻止语义问题

我有表达


    if (kate[aa] !== undefined) {
        subK = kate[aa].subKategori.map(x => [{name: x}])
    }



我希望subK的输出是

[{name : x[0]}, {name: x[1]]


但是在控制台中

subK = [[{name:x[0]}],[{name:x[1]}]]


我不知道为什么

最佳答案

x => [{name: x}]回调创建一个数组,该数组中有一个对象,用于该数组中的每个条目。 map返回这些array.s的数组

如果只需要一个对象,请勿在该对象周围使用[]。由于这是一个简洁的箭头功能,因此您需要()(或使用详细的箭头功能):

subK = kate[aa].subKategori.map(x => ({name: x}))


或详细形式:

subK = kate[aa].subKategori.map(x => {
    return {name: x};
})

09-16 16:56