我想获取一个对象数组:
var objArr = [
{id:1, name:'test', seenby:'user1, user2, user3'},
{id:2, name:'test1', seenby:'user3, user4'},
{id:3, name:'test2', seenby:'user1, user3'},
{id:4, name:'test3', seenby:'user2'}
];
并返回所有“seenby”用户的不同数组:
var seenByArr = ['user1', 'user2', 'user3', 'user4']
我不知道如何有效地(尽可能少的行)将其转换为不同值的数组。请查看我的 fiddle 示例:https://jsfiddle.net/ksumarine/ss3v7dgj/
最佳答案
我意识到这个问题没有提到下划线,但值得一提的是 Underscore.js是一个非常流行的用于操作对象和数组的库,非常适合这类事情。
这里有一个大的不可读的单行,用于使用 Underscore 实现此目的:
_.unique(_.flatten(_.map(_.pluck(objArr, 'seenby'), function(seenby) { return seenby.split(', '); })))
关于javascript - 将逗号分隔的字符串数组转换为不同的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35441074/