首页 > 解决方案 > 使用 ramda 循环遍历对象数组

问题描述

我有一个这样的对象数组。

0:
cardLast4Digits: "0664"
cardType: "GIFT_CARD"
__proto__: Object
1:
cardLast4Digits: "5551"
cardType: "CREDIT_CARD"
__proto__: Object

我想遍历这个对象数组并查找 cardType 是否为“GIFT_CARD”。一旦我找到它,我想得到那个对象。输出应该是

0:
cardLast4Digits: "0664"
cardType: "GIFT_CARD"
__proto__: Object

有人可以建议我如何使用 ramda 来做到这一点。

标签: javascriptarraysreactjsobject

解决方案


只需使用数组查找方法:https ://ramdajs.com/docs/#find

拉姆达:

const items = [{
  cardLast4Digits: '0664',
  cardType: 'GIFT_CARD'
}, {
  cardLast4Digits: '5551',
  cardType: 'CREDIT_CARD'
}];
R.find(R.propEq('cardType', 'GIFT_CARD'))(items);

ES6:

const items = [{
  cardLast4Digits: '0664',
  cardType: 'GIFT_CARD'
}, {
  cardLast4Digits: '5551',
  cardType: 'CREDIT_CARD'
}];

const result = items.find(item => item.cardType === 'GIFT_CARD');
console.log(result);


推荐阅读