0

我有一个像

var storage = [
1:{"index":1, "label": abc, "value": 33},
2:{"index":2, "label": def, "value": 43},
etc.
];

所以,现在我需要在给定“标签”值的情况下提取给定的内部对象

我发现工作:

R.filter( R.propEq( "label", labelname ), storage )

但 find() 不起作用:

R.find( R.propEq( 'label', labelname ))( storage )

有人可以启发我吗?

4

1 回答 1

1

我对你的数据结构有点困惑。这样做,两者filter似乎find都可以正常工作:

var abc = "ABC", def = "DEF";

var storage = [
  {"index":1, "label": abc, "value": 33},
  {"index":2, "label": def, "value": 43},
  {"index":1, "label": abc, "value": 53},
];

var labelname = abc;

R.filter( R.propEq( "label", labelname ), storage );
//=> [{"index":1,"label":"ABC","value":33},{"index":1,"label":"ABC","value":53}]
R.find( R.propEq( "label", labelname ), storage );
//=> {"index":1,"label":"ABC","value":33}

您可以在 Ramda REPL上看到这一点。

记录开头的那些额外索引号是什么?:

var storage = [
1:{"index":1, "label": abc, "value": 33},
^
 \---- What's this?
于 2016-01-19T19:05:38.270 回答