我有像
这样的js对象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 )
任何人都可以告诉我这个吗?
答案 0 :(得分: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}
您可以在 the Ramda REPL 上看到这一点。
记录开头的那些额外索引号是什么?:
var storage = [
1:{"index":1, "label": abc, "value": 33},
^
\---- What's this?