javascript - 使用 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 来做到这一点。
解决方案
只需使用数组查找方法: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);
推荐阅读
- solidity - 无法估计执行时的气体
- powerbi - 如何在 Power BI 的 Direct Query 模式下创建时间智能度量?
- go - 如何交叉编译
- json - 将 select 语句的结果插入到 SQL Server 2016 表或临时表中,然后插入或选择到
- ios - 当多个对象在iOS中调用一个函数时,如何等到一个函数完全执行?
- xamarin - 使用 FreshMVVM 时 PushPageModel 和 PushPageModelWithNewNavigation 有什么区别?
- java - Fortify 无法识别 lambda
- c++ - RC 在多线程/多处理的上下文中代表什么?
- javascript - 一段时间后尝试打开新标签窗口时被阻止
- google-bigquery - BIGQUERY 使用 ARRAY 对象运行总计