我希望使用 Ramda 获取一些数据 - 从中提取键值 - 并减少它,以便数组是唯一的
所以在这种情况下 - 创建一个数组 ["SONY_FINALIZING", "EXPIRE"]; - 作为额外 - 我想创建其他功能来小写值、添加连字符、驼峰式单词。
尝试使用这个但似乎无法分享 fiddle https://ramdajs.com/repl?v=0.26.1
const data2 = [
{id: 38,
label: "ssss",
status: "SONY_FINALIZING",
region: "SIEA"},
{id: 35,
label: "ghmjhmjhj",
status: "SONY_FINALIZING",
region: "SIEE"},
{id: 32,
label: "gbfghfghfghg",
status: "EXPIRE",
region: "SIAE"}
]
pipe(
groupBy(prop('id')),
map(pluck('status')),
map(flatten),
map(uniq),
)(data2)
最佳答案
使用 R.pipe 创建函数使用 R.pluck获取 status
值数组,然后 R.uniq删除重复项:
const {pipe, pluck, uniq} = R;
const fn = pipe(pluck('status'), uniq);
const data2 = [{ id: 38, label: "ssss", status: "SONY_FINALIZING", region: "SIEA" }, { id: 35, label: "ghmjhmjhj", status: "SONY_FINALIZING", region: "SIEE" }, { id: 32, label: "gbfghfghfghg", status: "EXPIRE", region: "SIAE" } ];
const result = fn(data2);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.27.0/ramda.js" integrity="sha256-buL0byPvI/XRDFscnSc/e0q+sLA65O9y+rbF+0O/4FE=" crossorigin="anonymous"></script>
关于javascript - ramda 数组清理数据以生成唯一的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60113866/