如何使用 lodash 从较大数组中的对象中获取数组?
How to use lodash to grab arrays from objects inside larger array?
这是我的 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; });
这是我的 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; });