javascript - 将逗号分隔的字符串数组转换为不同的数组

标签 javascript jquery

我想获取一个对象数组:

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/

相关文章:

javascript - window.open 数据 URI

javascript - 单选按钮被禁用,即使选择另一个按钮后也无法启用

javascript - 动画功能 : change div width by using radio buttons

php - 使用 php 将值从一个页面传递到另一个页面

jquery - 猫头鹰懒惰类中的 Gif 加载图像 Owl Carousel LazyLoad?

javascript - 在 Kendo Grid 中定义列类型?

jquery - 为什么 Firefox 3.6 会改变 jQuery 和 CSS 属性?

javascript - 鼠标滚轮的水平滚动按钮

JavaScript 函数弄乱了我的单选按钮显示

javascript - Mozilla WebExtension API 存储 - 使用和不使用断点进行调试会导致不同的输出