如何使用 lodash 从较大数组中的对象中获取数组?

How to use lodash to grab arrays from objects inside larger array?

_lodash

这是我的 tickerTagObject 数组的样子:

它是一个 array of objects,每个 object 包含另一个 object + 1 array

我可以使用以下语法获取代码:

var tickerObjs = _(tickerTagObjs)
    .filter(function(tiks) { return tiks; })
    .pluck('ticker')
    .value();

console.log(tickerObjs);

^ 这给了我一个股票代码对象数组

但是对标签使用相同的标签不起作用,可能是因为标签是 Array 而不是 Object?

var tagObjs = _(tickerTagObjs.tags)
    .filter(function(tags) { return tags; })
    .pluck('tags')
    .value();

console.log(tagObjs);

你如何使用 lodash 来 "pluck" 每个 TagsObject 内的 array 标签内的标签 objects

那是因为在第二个片段中,您将数组的未定义 tags 属性 直接传递给 lodash 构造函数,而后续操作实际上不会执行任何操作。

另请注意,您的代码段中的 filter 调用是多余的,您只需将其删除即可。

您也可以使用本机数组 map 方法:

var tags = tickerTagObjs.map(function(el) { return el.tags; });