将对象数组中的object.keys映射为字符串

时间:2019-02-09 17:21:24

标签: javascript angular

我有一个数组,例如:

interface: [
    { _id: '1', name: 'Foo' },
    { _id: '2', name: 'bar },
    { _id: '3', name: 'boo}
]

我现在想将此映射到单个字符串->

this.dataSource.data = data.data.map(item => ({
     interface: item.interfaces.name,
}));

使dataSource.data.interface内部的结果看起来像'Foo, bar, boo'

2 个答案:

答案 0 :(得分:4)

您可以映射name属性并加入数组。

var data = { interface: [{ _id: '1', name: 'Foo' }, { _id: '2', name: 'bar' }, { _id: '3', name: 'boo' }]};

data.interface = data.interface.map(({ name }) => name).join(', ');

console.log(data);

答案 1 :(得分:-1)

使用Array.prototype.reduce:

const concatString = data.interface.reduce((acc, value, index, arr) => {
    const str = index !== arr.length - 1 ? `${value.name}, ` : value.name;
    return acc += str;
    }, "");