我收到以下数据结构:
{ 8: ['red', 'green', 'blue'] }
{ 10: ['red', 'green'] }
{ 12: ['green', 'blue'] }
从这些数据中,我需要能够创建一个对象模型,该模型将允许我确定哪些颜色在给定尺寸中可用,而且反过来,哪些尺寸适用于给定颜色。
我知道我可以创建两个数据集和两个函数来进行查找,但是有没有更优雅的方法来使用 UnderscoreJS 之类的东西呢?
我收到以下数据结构:
{ 8: ['red', 'green', 'blue'] }
{ 10: ['red', 'green'] }
{ 12: ['green', 'blue'] }
从这些数据中,我需要能够创建一个对象模型,该模型将允许我确定哪些颜色在给定尺寸中可用,而且反过来,哪些尺寸适用于给定颜色。
我知道我可以创建两个数据集和两个函数来进行查找,但是有没有更优雅的方法来使用 UnderscoreJS 之类的东西呢?
假设您使用的是下划线或 lodash*
var a = [
{ 8: ['red', 'green', 'blue'] },
{ 10: ['red', 'green'] },
{ 12: ['green', 'blue'] }
];
function getIndicesByColor(a,color){
var list = _.assign.apply(this,a);
return _.select(_.keys(list),function(v,k,l){return _.contains(list[v],color)})
}
getIndicesByColor(a,'red') // ["8", "10"]
getIndicesByColor(a,'green') // ["8", "10", "12"]
getIndicesByColor(a,'blue') // ["8", "12"]