Bra*_*ish 5 javascript arrays shopify lodash
在处理之前查看订单line_item是否已退款...
这是一个单一订单:
var order = {
line_items: [
{
id: 1326167752753
}
],
refunds: [
{
refund_line_items: [
{
id: 41264152625,
line_item_id: 1326167752753,
}
]
}
]
};
Run Code Online (Sandbox Code Playgroud)
试图注销过滤结果:
console.log(
_.filter(order, {
refunds: [
{
refund_line_items: [
{
line_item_id: 1326167752753
}
]
}
]
}).length
);
Run Code Online (Sandbox Code Playgroud)
我0
上了控制台.
我在这种情况下使用_.filter错了吗?
函数take需要一个数组(order
不是数组,order.refunds
是)和一个谓词,而不是一个对象。
无论如何,我会使用以下方式编写它Array.some
:
const itemWasRefunded = order.refunds.some(refund =>
refund.refund_line_items.some(refund_line_item =>
refund_line_item.line_item_id === 1326167752753
)
);
Run Code Online (Sandbox Code Playgroud)
或者,获取所有line_item_id
s 并检查包含情况:
const itemWasRefunded = _(order.refunds)
.flatMap("refund_line_items")
.map("line_item_id")
.includes(1326167752753);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
99 次 |
最近记录: |